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

冉升11个月前行业资讯717

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

相关文章

【计算机网络】详解数据链路层数据帧&Mac地址&ARP协议

【计算机网络】详解数据链路层数据帧&Mac地址&ARP协议

一、以太网帧         "以太网" 不是一种具体的网络,而是一种技术标准;既包含了数据链路层的内容,也包含了一些物理层的内容...

Spring AMQP与RabbitMQ深度整合指南:从基础到高级应用(2)

Spring AMQP与RabbitMQ深度整合指南:从基础到高级应用(2)

三、SpringAMQP将来我们开发业务功能的时候,肯定不会在控制台收发消息,而是应该基于编程的方式。由于RabbitMQ采用了 AMQP 协议,因此它具备跨语言的特性。任何语言只要遵循 AMQP 协...

Docker全攻略:从入门到精通,掌握容器构建关键技能

Docker全攻略:从入门到精通,掌握容器构建关键技能

引言        Dockerfile 是构建 Docker 镜像的核心文件。它定义了如何将应用程序及其依赖打包成一个可以跨平台运行的容器。本篇博客将从基础概...

【Docker】1.Docker的前身LXC

【Docker】1.Docker的前身LXC

LXC简介:Linux Containers ,一种操作系统层虚拟化技术,为Linux内核容器功能的一个用户空间接口。将应用软件系统打包成一个软件容器内涵应用软件本身的代码,操作系统核心和库...

什么是 SRE?一文详解 SRE 运维体系

什么是 SRE?一文详解 SRE 运维体系

可观测性系统在任何有一定规模的企业内部,一旦推行起来整个SRE的运维模式,那么对于可观测性系统的建设将变得尤为重要,而在整个可观测性系统中,通常我们会分为如下三个方面:指标监控:即各种指标监控,比如基...

SRE(站点可靠性工程)介绍

SRE(站点可靠性工程)介绍

概述站点可靠性工程(SRE)是 IT 运维的软件工程方案。SRE 团队使用软件作为工具,来管理系统、解决问题并实现运维任务自动化。SRE 执行的任务以前通常由运维团队手动执行,或者交给使用软件和自动化...

发表评论    

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