Docker 必备 实用性命令 速查手册
简介
• Docker 已迅速成为容器化应用程序的事实标准。作为开发人员或 DevOps 工程师/系统管理员,熟悉 Docker 对于高效部署现代、可移植的应用程序至关重要。
• 尽管 Docker 拥有众多高级功能和命令,但你会发现自己每天都会不断使用一些必不可少的功能和命令。
• 在这篇文章中,我们将介绍每个人都应该知道的20 多个基本 Docker 命令及其用例。
一、Docker 常规命令
1.docker info
• docker info显示系统范围的信息
• 句法:docker info
2.docker --help
• docker --help获取 Docker 帮助。也可以在所有子命令上使用 --help
• 句法:docker
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
• 句法: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
全部0条评论
快来发表一下你的评论吧 !