【Docker】深入了解 Docker:终极命令指南(上)

冉升9个月前行业资讯315

Docker 是现代开发中不可或缺的工具,能够简化应用程序的部署和


管理。在本文中,我们将深入探讨 Docker 的核心命令,帮助您在日常工作中高效使用这一强大平台。


1. 系统信息命令

了解 Docker 的当前状态和配置是管理的基础。以下命令提供了关于 Docker 环境的关键信息:


命令 说明 示例

docker version 显示 Docker 客户端和服务器的版本信息 docker version

docker info 显示 Docker 系统的详细信息 docker info

docker system df 显示磁盘使用情况 docker system df

docker system prune 清理未使用的数据(镜像、容器、卷等) docker system prune


详细说明:

docker version
  • 说明:显示当前安装的 Docker 客户端和服务器的版本信息。包括版本号、构建信息等。

docker system df

  • 说明:显示系统的详细信息,包括总的容器数量、运行中的容器数量、可用的镜像数量、存储驱动信息等。

docker system df
  • 说明:显示 Docker 系统的磁盘使用情况,包括镜像、容器和数据卷的大小,帮助您了解资源占用。

docker system prune

  • 说明:清理未使用的数据,包括停止的容器、未使用的网络、未标记的镜像等,释放磁盘空间。

  • 注意:使用此命令时需谨慎,以免误删除有用的资源。

2. 镜像管理

镜像是 Docker 的核心部分,管理镜像的命令包括:

命令 说明 示例

docker pull <image>:<tag> 拉取指定标签的镜像 docker pull ubuntu:20.04

docker push <image>:<tag> 推送镜像到 Docker Hub docker push myrepo/myapp:latest

docker tag <image> <new_image> 给镜像打标签 docker tag ubuntu:latest myubuntu:custom

docker inspect <image> 查看镜像的详细信息 docker inspect ubuntu

docker save -o <path> <image> 导出镜像到 tar 文件 docker save -o my_image.tar my_image:latest

docker load -i <path> 从 tar 文件导入镜像 docker load -i my_image.tar


详细说明:

docker pull <image>:<tag>
  • 说明:从 Docker Hub 或指定仓库拉取镜像。

  • 参数

    • <image>:镜像的名称。

    • <tag>:镜像的标签(例如版本号),如果不指定,默认为 latest

docker push <image>:<tag>
  • 说明:将本地镜像推送到 Docker Hub 或指定仓库。

  • 参数

    • <image>:镜像的名称。

    • <tag>:镜像的标签。

docker tag <image> <new_image>

说明:给已有镜像打上新的标签,用于版本管理。

  • 参数

    • <image>:要打标签的原始镜像。

    • <new_image>:新的镜像名称和标签。

docker inspect <image>

  • 说明:查看镜像的详细信息,包括配置、层、环境变量等。

docker save -o <path> <image>
  • 说明:将指定镜像导出为 tar 文件,方便传输或备份。

  • 参数

    • <path>:输出文件路径。

    • <image>:要导出的镜像名称。

docker load -i <path>

  • 说明:从 tar 文件中导入镜像,将其添加到本地 Docker 镜像库。

  • 参数

    • <path>:输入文件路径。

3. 容器管理

容器是镜像的实例,以下命令帮助您管理容器的生命周期

3.1 启动和停止容器

命令 说明 示例

docker run -d --name <name> <image> 启动并命名容器 docker run -d --name my_nginx nginx

docker start <container> 启动已停止的容器 docker start my_container

docker restart <container> 重启容器 docker restart my_container


docker run -d --name <name> <image>
  • 说明:启动一个新的容器并在后台运行。

  • 参数

    • -d:后台运行容器。

    • --name <name>:为容器指定一个名称,方便后续管理。

    • <image>:要运行的镜像名称。

docker start <container>
  • 说明:启动一个已停止的容器。

  • 参数

    • <container>:要启动的容器名称或 ID。

docker restart <container>
  • 说明:重启一个正在运行或已停止的容器。

  • 参数

    • <container>:要重启的容器名称或 ID。

3.2 查看容器日志

命令说明示例
docker logs <container>查看指定容器的日志docker logs my_container
docker logs -f <container>实时查看容器日志docker logs -f my_container
docker logs <container>
  • 说明:查看指定容器的输出日志,调试和监控容器。

  • 参数

    • <container>:要查看日志的容器名称或 ID。

3.3 容器状态管理

命令说明示例
docker pause <container>暂停容器docker pause my_container
docker unpause <container>恢复暂停的容器docker unpause my_container
docker pause <container>
  • 说明:暂停指定容器的所有进程。

  • 参数

    • <container>:要暂停的容器名称或 ID。

docker unpause <container>
  • 说明:恢复已暂停的容器。

  • 参数

    • <container>:要恢复的容器名称或 ID。

4. 容器交互

111 (2).png


docker exec -it <container> bash

  • 说明:在指定的运行中容器内启动一个交互式 Bash 终端。

  • 参数

  • <container>:要进入的运行中容器的名称或 ID。

  • docker exec <container> <command>

  • 说明:在指定的运行中容器内执行一条命令。

  • 参数

  • <container>:要执行命令的容器名称或 ID。

  • <command>:要在容器内执行的命令。

  • docker exec -it <container> sh

  • 说明:在指定的运行中容器内启动一个交互式 sh 终端,适用于不支持 Bash 的容器。

  • 参数

  • <container>:要进入的运行中容器的名称或 ID。

  • docker exec -d <container> <command>

  • 说明:在指定的运行中容器内后台执行一条命令。

  • 参数

  • <container>:要执行命令的容器名称或 ID。

  • <command>:要在容器内执行的命令。

  • docker exec --memory <size> --cpus <number> <container> <command>


  • 说明:在指定的运行中容器内执行命令时限制内存和 CPU 使用。

  • 参数

  • <size>:限制的内存大小,例如 512m 或 2g

  • <number>:限制的 CPU 核心数,可以是浮点数。

  • <container>:要执行命令的容器名称或 ID。

  • <command>:要在容器内执行的命令。

  • ————————————————

    本文系转载,版权归原作者所有,如若侵权请联系我们进行删除!  

    云掣基于多年在运维领域的丰富时间经验,编写了《云运维服务白皮书》,欢迎大家互相交流学习:

    《云运维服务白皮书》下载地址:https://fs80.cn/v2kbbq

    想了解更多大数据运维托管服务、数据库运维托管服务、应用系统运维托管服务的的客户,欢迎点击云掣官网沟通咨询:https://yunche.pro/?t=shequ

相关文章

Docker:容器化和虚拟化

Docker:容器化和虚拟化

虚拟化虚拟化是一种资源管理技术,它将计算机的各种实体资源(如CPU、内存、磁盘空间、网络适配器等)予以抽象、转换后呈现出来,并可供分割、组合为一个或多个电脑配置环境。这些资源的新虚拟部分是不受现有资源...

C++二分算法:1713得到子序列的最少操作次数

C++二分算法:1713得到子序列的最少操作次数

本文涉及的基础知识点二分查找算法合集LeetCode1713题目给你一个数组 target ,包含若干 互不相同 的整数,以及另一个整数数组 arr ,arr 可能 包含重复元素。每一次操作中,你可以...

【网络】NAT、代理服务、内网穿透(2)

【网络】NAT、代理服务、内网穿透(2)

2.代理服务器代理服务器(Proxy Server)的功能就是代理网络用户去取得网络信息,代理服务器又分为正向代理和反向代理。(1)正向代理正向代理,是一个位于客户端和目标服务器之间的服务器,客户端并...

Docker 基础与实战指南(4)

Docker 基础与实战指南(4)

2.4 网络:默认情况下,所有容器都是以 bridge 方式连接到 Docker 的一个虚拟网桥上:容器在同一个网桥上就可以相互访问。下图就是我的 linux 上的默认网桥。下面我们来测试一下。首先,...

【强化学习】Soft Actor-Critic (SAC) 算法

【强化学习】Soft Actor-Critic (SAC) 算法

一、Soft Actor-Critic (SAC) 算法详解        Soft Actor-Critic(SAC) 是一种最先进的强化学习算法,属于 Ac...

【Docker 】深入探索 Docker :容器健康检查与安全扫描

【Docker 】深入探索 Docker :容器健康检查与安全扫描

在现代容器化应用的开发与部署过程中,确保服务的可用性和安全性至关重要。本文将探讨容器的健康检查和安全扫描,并分享最佳实践。一、容器健康检查1.1 健康检查的作用健康检查是确保服务在运行时处于可用状态的...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。