Docker 的优势很容易让Web开发人员所忽略。对于开发运维来说,它被认为太过技术性、没有必要。
作为WEB开发人员,学习使用 Docker 将有助于简化构建、测试和部署 Web 应用程序的过程。
在本文中,将回顾一些基本 Docker 命令。
更多关于 Docker 的使用可以阅读《面向WEB开发人员的Docker》
1. docker build
每个前端开发人员应该知道的第一个命令是 docker build
,此命令用于从 Dockerfile
构建 Docker image
,Dockerfile
是一个包含构建镜像指令的脚本。
docker build
命令的语法如下:
-
-t
参数是 -tag
参数的缩写形式,允许镜像 image
指定名称和可选标签(冒号后面的部分),标签通常用于区分镜像的版本; -
image_name
:镜像名称; -
dockerfile
:dockerfile
文件,可以指定路径 path/dockerfile
2. docker images
要列出本地构建的所有 docker
镜像,可以使用 docker images
命令。
如果运行它,应该会看到列出的所有镜像,注意 docker images
等同于命令 docker image ls
。
3. docker run
构建镜像后,如何运行它?就是使用 docker run
命令,语法如下:
例如,如果想为标记为镜像启动容器并在端口 80 *问它,将运行:
此示例假定 Dockerfile
在端口 80
上公开应用程序,要映射到不同的主机端口,通过 -p
参数的第一部分指定不同的数字,参数是 -p 主机端口:容器端口
。
如果要在后台运行容器,请添加如下 -d
参数:
该命令将返回容器 ID 并将终端窗口的控制权交回用户。
当运行一个容器时,Docker 会为其分配一个随机名称,如果不希望是随机名称,可以通过 --name
参数来指定想要的名称。
例如,可以给运行 devpoint
镜像的容器命名为 devpoint-website
,如下所示:
4. docker ps
要列出所有当前正在运行的容器,可以运行:
运行后可以看到列出所有运行的容器,包括容器 ID、名称 和 镜像名称。
5. docker start/stop
要启动或停止容器,语法是:
或者
一旦容器停止运行,它将不再出现在正在运行的容器列表中,通过
docker ps
是无法看到,需要列出不在运行的容器,可以使用命令 docker ps -a
。
6. docker logs
使用 docker logs
命令,可以查看正在运行的容器的日志。语法是:
此命令有助于调试容器中抛出的任何启动问题或异常。
7. docker exec
另一个有用的命令是 docker exec
。此命令可以进入运行的容器中,并运行命令,语法是:
例如,如果想在 devpoint-website
容器中打开一个 shell
,运行:
要退出 shell
,请输入命令 exit
。
8. docker login
为应用程序构建镜像并测试成功运行后,如果需要共享给其他人使用,就需要注册镜像仓库。
Docker Hub 是一个公共的镜像仓库,任何人都可以访问和下载存储在其中的镜像,除非用户将存储库设为私有。
要登录到 Docker Hub(假设有一个帐户),可以使用以下命令:
9. docker push
要将镜像推送到 Docker Hub,需要使用 docker push
命令。语法是:
跟 GitHub 的使用方式类似。
构建 Docker 镜像时的标准约定是:
例如,如果为我自己的 Docker Hub 帐户构建镜像,运行如下命令:
Docker Hub 会自动将名为 vite2
的镜像标记为 v1
。
10. docker pull
登录到 Docker Hub 后,可以使用以下 docker pull
命令拉取现有镜像:
总结
学习这些基本的 Docker 命令可以提高开发人员的工作效率。