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

冉升7个月前行业资讯227

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 composer 安装sentry的运维总结--未完待续

docker composer 安装sentry的运维总结--未完待续

一、sentry安装1、下载最新的github工程地址是https://github.com/getsentry/self-hosted。我们安装的时候最新版本还是Sentry 21.6.1, 截止目...

Spring AOP 实战指南:从入门到精通(1)

Spring AOP 实战指南:从入门到精通(1)

Spring 框架有两大核心 IoC,AOP。在前面我们已经学习过了 IoC 的相关知识,今天就让我们开始 AOP 的学习。一、AOP 概述Aspect Oriented Programming(面向...

JAVA 程序员-云计算学习路径

JAVA 程序员-云计算学习路径

课程内容关系图第一章:容器化基础云计算简单概念测试安装 Nginx服务器的安全组设置按量付费优点私有网络 VPC 实战Docker 基础概念开通华为服务器Docker 安装镜像操作容器操作修改容器内容...

Linux 环境下Docker部署项目(七)

Linux 环境下Docker部署项目(七)

一、前言本文是讲述的是怎么样定义Dockerfile,然后在Docker中部署springboot项目。由于只是为了学习docker容器部署。因此本文基于的镜像只是基于单纯的java 8(由于官网弃用...

Docker 基础与实战指南(2)

Docker 基础与实战指南(2)

二、Docker 基础接下来,我们一起来学习 Docker 使用的一些基础知识,为将来部署项目打下基础。具体用法可以参考 Docker 官方文档:https://docs.docker.com/2.1...

大数据存储方案

大数据存储方案

1 结构布局目前大数据存储有两种方案可供选择:行存储和列存储。业界对两种存储方案有很多争持,集中焦点是:谁能够更有效地处理海量数据,且兼顾安全、可靠、完整性。从目前发展情况看,关系数据库已经不适应这种...

发表评论    

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