WEB开发人员应该知道 10 个 Docker 命令

17,439 阅读4分钟

Docker 的优势很容易让Web开发人员所忽略。对于开发运维来说,它被认为太过技术性、没有必要。

作为WEB开发人员,学习使用 Docker 将有助于简化构建、测试和部署 Web 应用程序的过程。

在本文中,将回顾一些基本 Docker 命令。

更多关于 Docker 的使用可以阅读《面向WEB开发人员的Docker

1. docker build

每个前端开发人员应该知道的第一个命令是 docker build,此命令用于从 Dockerfile 构建 Docker imageDockerfile 是一个包含构建镜像指令的脚本。

docker build命令的语法如下:

docker build -t image_name dockerfile
  • -t 参数是 -tag 参数的缩写形式,允许镜像 image 指定名称和可选标签(冒号后面的部分),标签通常用于区分镜像的版本;
  • image_name:镜像名称;
  • dockerfiledockerfile 文件,可以指定路径 path/dockerfile

2. docker images

要列出本地构建的所有 docker 镜像,可以使用 docker images 命令。

如果运行它,应该会看到列出的所有镜像,注意 docker images 等同于命令 docker image ls

3. docker run

构建镜像后,如何运行它?就是使用 docker run 命令,语法如下:

docker run -p port:container_port image_name

例如,如果想为标记为镜像启动容器并在端口 80 上访问它,将运行:

docker run -p 80:80 devpoint:v1

此示例假定 Dockerfile 在端口 80 上公开应用程序,要映射到不同的主机端口,通过 -p 参数的第一部分指定不同的数字,参数是 -p 主机端口:容器端口

如果要在后台运行容器,请添加如下 -d 参数:

docker run -d -p 80:80 devpoint:v1

该命令将返回容器 ID 并将终端窗口的控制权交回用户。

当运行一个容器时,Docker 会为其分配一个随机名称,如果不希望是随机名称,可以通过 --name 参数来指定想要的名称。

例如,可以给运行 devpoint 镜像的容器命名为 devpoint-website,如下所示:

docker run -d -p 80:80 --name devpoint-website devpoint:v1

4. docker ps

要列出所有当前正在运行的容器,可以运行:

docker ps

运行后可以看到列出所有运行的容器,包括容器 ID、名称 和 镜像名称。

5. docker start/stop

要启动或停止容器,语法是:

docker start|stop container_name

或者

docker start|stop container_id

一旦容器停止运行,它将不再出现在正在运行的容器列表中,通过 docker ps 是无法看到,需要列出不在运行的容器,可以使用命令 docker ps -a

6. docker logs

使用 docker logs 命令,可以查看正在运行的容器的日志。语法是:

docker logs container_name

此命令有助于调试容器中抛出的任何启动问题或异常。

7. docker exec

另一个有用的命令是 docker exec。此命令可以进入运行的容器中,并运行命令,语法是:

docker exec -it container_name command_to_run

例如,如果想在 devpoint-website 容器中打开一个 shell,运行:

docker exec -it devpoint-website sh

要退出 shell,请输入命令 exit

8. docker login

为应用程序构建镜像并测试成功运行后,如果需要共享给其他人使用,就需要注册镜像仓库。

Docker Hub 是一个公共的镜像仓库,任何人都可以访问和下载存储在其中的镜像,除非用户将存储库设为私有。

要登录到 Docker Hub(假设有一个帐户),可以使用以下命令:

docker login -u username

9. docker push

要将镜像推送到 Docker Hub,需要使用 docker push 命令。语法是:

docker push username/image_name

跟 GitHub 的使用方式类似。

构建 Docker 镜像时的标准约定是:

docker build -t username/image_name:tag_name

例如,如果为我自己的 Docker Hub 帐户构建镜像,运行如下命令:

docker build — t chaoy2010/vue2:v1

Docker Hub 会自动将名为 vue2 的镜像标记为 v1

10. docker pull

登录到Docker Hub 后,可以使用以下 docker pull 命令拉取现有镜像:

docker pull chaoy2010/vue2:v1

总结

学习这些基本的 Docker 命令可以提高开发人员的工作效率。