WEB开发人员应该知道 10 个 Docker 命令
Docker 的优势很容易让Web开发人员所忽略。对于开发运维来说,它被认为太过技术性、没有必要。
作为WEB开发人员,学习使用 Docker 将有助于简化构建、测试和部署 Web 应用程序的过程。
在本文中,将回顾一些基本 Docker 命令。
更多关于 Docker 的使用可以阅读《 面向WEB开发人员的Docker(一)》
1. docker build
每个前端开发人员应该知道的第一个命令是 docker build
,此命令用于从 Dockerfile
构建 Docker image
,Dockerfile
是一个包含构建镜像指令的脚本。
docker build
命令的语法如下:
docker build -t image_name dockerfile
-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
命令,语法如下:
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 会自动将名为 vite2
的镜像标记为 v1
。
10. docker pull
登录到 Docker Hub 后,可以使用以下 docker pull
命令拉取现有镜像:
docker pull chaoy2010/vue2:v1
总结
学习这些基本的 Docker 命令可以提高开发人员的工作效率。