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 指令能够进步开发人员的工作效率。