Docker基本命令及其用例

描述

Docker 必备 实用性命令 速查手册

简介

• Docker 已迅速成为容器化应用程序的事实标准。作为开发人员或 DevOps 工程师/系统管理员,熟悉 Docker 对于高效部署现代、可移植的应用程序至关重要。

• 尽管 Docker 拥有众多高级功能和命令,但你会发现自己每天都会不断使用一些必不可少的功能和命令。

• 在这篇文章中,我们将介绍每个人都应该知道的20 多个基本 Docker 命令及其用例。

一、Docker 常规命令

1.docker info

• docker info显示系统范围的信息

• 句法:docker info

2.docker --help

• docker --help获取 Docker 帮助。也可以在所有子命令上使用 --help

• 句法:docker --help

2de7a40cf55342d8a1e6acc67759826f.png

二、Docker 注册表

3.docker login

• **docker login**用于登录 Docker 注册表。如果没有指定服务器,则默认由守护进程定义。

• 句法:docker login

• 使用案例:

ID 命令 描述
1 docker login 登录到默认 Docker 注册表
2 docker login myRegistry -u username 使用指定的用户名登录到指定的registry

4. docker logout

• 要从 Docker 注册表中注销,请使用docker logout。当您想要删除用于注册表身份验证的凭据时,使用此命令。

• 句法:docker logout

• 使用案例:

ID 命令 描述
1 docker logout 从默认 Docker 注册表注销
2 docker logout myRegistry 从指定注册表注销

三、Docker 镜像

af2914172ce04e1985507898230b0a52.png

5. docker build

• **docker build**用于从 Dockerfile 构建自定义 Docker 镜像。

• 句法:docker build -t

• 使用案例:

ID 命令 描述
1 docker build -t myImage . 使用当前目录中的 Dockerfile 构建映像
2 docker build -t myImage:v0.1.0 . 使用指定标签从 Dockerfile 构建 Docker 镜像
3 docker build -t myImage -f demo/Dockerfile 使用 demo 目录中的 Dockerfile 构建映像

6. docker tag

• docker tag允许您为现有的 Docker 镜像创建新的标签。

• 句法:docker tag

• 使用案例:

ID 命令 描述
1 docker tag myImage:latest myImage:v2 为 Docker 镜像“myImage”创建一个新的标签“v2”,标签为“latest”
2 docker tag myImage:latest myRegistry/myImage 将 Docker 镜像“myImage”标记为“latest”,并将其添加到镜像仓库的镜像标签 latest
3 docker tag myImage:latest myRegistry/myImage:1.0.0 将 Docker 映像“myImage”标记为“latest”,并将其标记为注册表映像标签 1.0.0

e7b1c1d8130649efab8005131435afd6.png

7.docker images

• docker images,该命令列出了系统上拉取和构建的所有 Docker 镜像。在运行容器或清理之前,您会经常使用它来查看镜像。

• 句法:docker images

• 使用案例:

ID 命令 描述
1 docker images 列出系统上的所有 Docker 镜像
2 docker images -a 列出所有 Docker 镜像,包括中间镜像

8.docker pull

• 要从 Docker Hub 等注册表下载镜像,请使用**docker pull**。例如,docker pull nginx获取最新的 nginx 镜像。

• 句法:docker pull

• 使用案例:

ID 命令 描述
1 docker pull nginx 从 Docker Hub 拉取最新的 nginx 镜像
2 docker pull nginx:latest 从 Docker Hub 明确提取最新的 nginx 镜像
3 docker pull myRegistry/myImage:tag 从私有镜像仓库中拉取特定镜像

9. docker push

• **docker push**用于将 Docker 镜像上传到注册表。

• 句法:docker push

• 使用案例:

ID 命令 描述
1 docker push myImage 将“myImage”图像推送到默认注册表
2 docker push myRegistry/myImage:tag 将特定标记版本的“myImage”图像推送到私有注册表

10. docker save

• 要将 Docker 映像保存为 .tar 文件,请使用**docker save**。此命令允许您将映像从本地 Docker 环境导出为可移植格式。

• 句法:docker save -o

• 使用案例:

ID 命令 描述
1 docker save -o myImage.tar myImage 将 Docker 映像保存到本地 .tar 文件
2 docker save -o /path/to/output.tar myImage 将图像保存到系统上的特定位置

11. docker load

• 要从已保存的存档中加载镜像到docker中,请使用**docker load**。当您将图像保存为 .tar 文件并想要将其导入本地 Docker 环境时,此命令非常方便。

• 句法:docker load -i

• 使用案例:

ID 命令 描述
1 docker load -i myImage.tar 从本地 .tar 文件加载 Docker 映像
2 docker load -i /path/to/image_archive.tar 从系统上的特定位置加载图像

12. docker rmi

• docker rmi删除一个或多个 Docker 镜像。删除镜像前请确保该镜像上没有已停止的容器。

• 句法:docker rmi

• 使用案例:

ID 命令 描述
1 docker rmi myImage 删除名为“myImage”的 Docker 映像
2 docker rmi myImage:tag 删除“myImage”图像的特定标记版本

四、Docker 容器

1b082e36682e476d8f20eceeb4b10f61.png

13. docker run

• docker run从映像创建并启动新容器。您可以传递各种选项来配置容器的网络、设置环境变量、映射卷等。

• 句法:docker run

• 使用案例:

ID 命令 描述
1 docker run -d --name mycontainer nginx 使用容器名称“mycontainer”以分离模式运行 nginx 镜像
2 docker run -p 8080:80 --name mycontainer nginx 运行 nginx 镜像,将主机 8080 端口映射到容器 80
3 docker run -e MYSQL_ROOT_PASSWORD=password -v /mydata:/var/lib/mysql mysql 运行 MySQL 镜像并设置 root 密码
4 docker run -v /mydata:/var/lib/mysql mysql 运行 MySQL 镜像并将主机目录挂载到容器
5 docker run --network=host myImage 使用主机网络运行容器
6 docker run --privileged myImage 使用 Docker 映像“myImage”运行具有扩展权限的容器
7 docker run -it myImage /bin/bash 运行映像并在容器内打开 bash shell

14. docker ps

• 一旦容器开始运行,您就需要docker ps列出它们。基本docker ps列表仅显示正在运行的容器。用于docker ps -a同时包括已停止的容器。

• 句法:docker ps

• 使用案例:

ID 命令 描述
1 docker ps 列出正在运行的容器
2 docker ps -a 列出所有容器,包括已停止的容器

15. docker stop/start/restart

• 这些命令允许您停止、启动或重新启动一个或多个正在运行的容器。您可以通过名称或 ID 引用容器。

• 句法:docker stop/start/restart

• 使用案例:

ID 命令 描述
1 docker stop mycontainer 停止名为“mycontainer”的正在运行的容器
2 docker restart mycontainer 重新启动名为“mycontainer”的容器
3 docker start mycontainer 启动名为“mycontainer”的已停止的容器

16. docker rm

• 一旦停止容器,docker rm就会将其从系统中完全删除。用于docker rm -f强制删除正在运行的容器。

• 句法:docker rm

• 使用案例:

ID 命令 描述
1 docker rm mycontainer 删除名为“mycontainer”的已停止的容器
2 docker rm -f mycontainer 强制删除名为“mycontainer”的正在运行的容器

17. docker logs

• 当容器化应用程序运行不正常时,docker logs从指定容器中检索日志以帮助排除故障。

• 句法:docker logs

• 使用案例:

ID 命令 描述
1 docker logs mycontainer 从名为“mycontainer”的容器中检索日志
2 docker logs --tail 100 mycontainer 从“mycontainer”检索最后 100 行日志

18. docker exec

• docker exec允许您在已运行的容器内运行新命令。例如,使用 启动 Bash shell docker exec -it /bin/bash。

• 句法:docker exec

• 使用案例:

ID 命令 描述
1 docker exec -it mycontainer /bin/bash 在“mycontainer”中启动交互式 Bash shell
2 docker exec mycontainer ls -l /app 列出“mycontainer”中目录“/app”中的文件

19. docker cp

• docker cp允许您在容器和本地文件系统之间复制文件和目录。

• 句法:docker cp :

• 使用案例:

ID 命令 描述
1 docker cp mycontainer:/app/logs/log.txt ./local_dir/ 将文件“log.txt”从容器“mycontainer”复制到本地目录
2 docker cp ./local_file.txt mycontainer:/app/data/ 将文件“local_file.txt”从本地文件系统复制到容器“mycontainer”

五、Docker 清理

20. docker system prune

• docker system prune允许您清理 Docker 环境中未使用的数据。

• 句法:docker system prune

• 使用案例:

ID 命令 描述
1 docker system prune 删除所有已停止的容器、悬空的镜像和未使用的网络
2 docker system prune -a 删除所有已停止的容器、所有未使用的图像以及所有未使用的网络

链接:https://linhai.blog.csdn.net/article/details/141258485

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分