Docker 的优势很容易让Web开发人员所忽略。对于开发运维来说,它被认为太过技术性、没有必要。
作为WEB开发人员,学习使用 Docker 将有助于简化构建、测试和部署 Web 应用程序的过程。
在本文中,将回顾一些基本 Docker 命令。
更多关于 Docker 的使用可以阅读《面向WEB开发人员的Docker》
每个前端开发人员应该知道的第一个命令是 docker build,此命令用于从 Dockerfile 构建 Docker image,Dockerfile 是一个包含构建镜像指令的脚本。
docker build命令的语法如下:
docker build -t image_name dockerfile
复制代码
要列出本地构建的所有 docker 镜像,可以使用 docker images 命令。
如果运行它,应该会看到列出的所有镜像,注意 docker images 等同于命令 docker image ls。
构建镜像后,如何运行它?就是使用 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
复制代码
要列出所有当前正在运行的容器,可以运行:
docker ps
复制代码
运行后可以看到列出所有运行的容器,包括容器 ID、名称 和 镜像名称。
要启动或停止容器,语法是:
docker start|stop container_name
复制代码
或者
docker start|stop container_id
复制代码
一旦容器停止运行,它将不再出现在正在运行的容器列表中,通过 docker ps 是无法看到,需要列出不在运行的容器,可以使用命令 docker ps -a。
使用 docker logs 命令,可以查看正在运行的容器的日志。语法是:
docker logs container_name
复制代码
此命令有助于调试容器中抛出的任何启动问题或异常。
另一个有用的命令是 docker exec。此命令可以进入运行的容器中,并运行命令,语法是:
docker exec -it container_name command_to_run
复制代码
例如,如果想在 devpoint-website 容器中打开一个 shell,运行:
docker exec -it devpoint-website sh
复制代码
要退出 shell,请输入命令 exit。
为应用程序构建镜像并测试成功运行后,如果需要共享给其他人使用,就需要注册镜像仓库。
Docker Hub 是一个公共的镜像仓库,任何人都可以访问和下载存储在其中的镜像,除非用户将存储库设为私有。
要登录到 Docker Hub(假设有一个帐户),可以使用以下命令:
docker login -u username
复制代码
要将镜像推送到 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。
登录到Docker Hub 后,可以使用以下 docker pull 命令拉取现有镜像:
docker pull chaoy2010/vue2:v1
复制代码
学习这些基本的 Docker 命令可以提高开发人员的工作效率。
页面更新:2024-03-14
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号