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

冉升2周前行业资讯48

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

相关文章

linux之危险操作

在 Linux 中,某些命令可以对系统造成不可逆的影响,尤其是当以 root 用户(或使用 sudo)执行时。以下是一些不推荐轻易执行的高危命令,除非你非常清楚它们的作用和潜在的后果:rm -rf /...

ubuntu设置共享文件夹

ubuntu设置共享文件夹

本文基于在VMware虚拟机环境下安装的ubuntu桌面版,且以及安装好Vmwaretools,如果根据本文未设置成功,请重装VMwaretools一、设置共享文件夹首先打开虚拟机,右击选项卡打开虚拟...

云计算概念以及与云服务的区别

云计算概念以及与云服务的区别

1.云的概念1.1 什么是云?        “云”在计算机科学和信息技术领域通常指“云计算”,即通过互联网提供计算资源(如服务器、存储、数据库、网络、软件、分...

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

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

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

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

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

1.NAT技术NAT(Network Address Translation,网络地址转换)技术,是解决IP地址不足的主要手段,并且能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。1.1...

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

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

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

发表评论    

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