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

冉升7个月前行业资讯252

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:namespace隔离实战

Docker:namespace隔离实战

namespacenamespace通过一种内核技术来实现,允许将不同的系统资源隔离和封装到独立的命名空间中。为容器化、虚拟化和隔离提供强大的基础。通过使用namespace技术,Linux内核可以创...

MyBatisPlus从零到一:快速入门与核心功能详解(1)

MyBatisPlus从零到一:快速入门与核心功能详解(1)

一、快速入门1.1 引入依赖:MybatisPlus 提供了 starter,实现了自动 Mybatis 以及MybatisPlus 的自动装配功能,坐标如下:<dependency>...

Docker--Docker Registry(镜像仓库)

Docker--Docker Registry(镜像仓库)

什么是Docker Registry?镜像仓库(Docker Registry)是Docker生态系统中用于存储、管理和分发Docker镜像的关键组件。镜像仓库主要负责存储Docker镜像,这些镜像包...

走进docker的世界之入门篇

走进docker的世界之入门篇

什么是dockerDocker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚...

Docker 基础与实战指南(3)

Docker 基础与实战指南(3)

2.2 数据卷:容器是隔离环境,容器内程序的文件、配置、运行时产生的容器都在容器内部,我们要读写容器内的文件非常不方便。大家思考几个问题:如果要升级 MySQL 版本,需要销毁旧容器,那么数据岂不是跟...

MySQL 数据出海之数据同步方案

MySQL 数据出海之数据同步方案

数据库出海流程【1】业务出海:1)数据库出海;2)应用出海;3)流量分发;【2】数据库出海:涉及业务方、信安、DBA和框架组。数据库出海,流量在国内 --> 应用出海,流量在国内 -->...

发表评论    

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