Docker常用命令一网打尽:高效运维必备清单(含可复制PDF下载)

第一章:Docker常用命令概述

Docker 作为容器化技术的主流工具,其命令行接口提供了对容器生命周期的完整控制。掌握常用命令是高效使用 Docker 的基础,无论是开发、测试还是部署阶段,都离不开对镜像和容器的操作。

镜像管理命令

镜像是容器运行的基础模板,可通过以下命令进行管理:
  • docker pull:从镜像仓库拉取指定镜像
  • docker images:列出本地所有镜像
  • docker rmi:删除一个或多个本地镜像
# 拉取 Ubuntu 最新镜像 docker pull ubuntu:latest # 查看本地已有的镜像 docker images # 删除名为 ubuntu:latest 的镜像 docker rmi ubuntu:latest

容器操作命令

容器是镜像的运行实例,常用操作包括创建、启动、停止和查看状态。
  1. docker run:创建并启动容器
  2. docker ps:查看正在运行的容器(添加-a可查看所有)
  3. docker stop:停止运行中的容器
  4. docker rm:删除已停止的容器
# 启动一个后台运行的 Nginx 容器 docker run -d --name my-nginx -p 8080:80 nginx # 查看当前所有容器 docker ps -a # 停止并删除容器 docker stop my-nginx docker rm my-nginx

常用命令对照表

命令作用常用选项
docker build根据 Dockerfile 构建镜像-t 指定镜像名称
docker exec在运行的容器中执行命令-it 交互式终端
docker logs查看容器日志输出--follow 实时追踪
graph TD A[Pull Image] --> B[Run Container] B --> C{Is Running?} C -->|Yes| D[Exec Command] C -->|No| E[Start Container] D --> F[View Logs] E --> B

第二章:镜像管理核心命令

2.1 镜像的拉取与推送——理论与registry交互机制

Docker 客户端与 registry 的通信基于 HTTP/HTTPS 协议,遵循 Docker Registry HTTP API v2 规范。镜像拉取(pull)本质是分层下载 manifest + layer blobs;推送(push)则需先上传 layer,再提交 manifest。
典型拉取流程
  1. 客户端向/v2/<name>/manifests/<reference>发起 GET 请求获取 manifest
  2. 解析 manifest 中各 layer 的digest,逐个请求/v2/<name>/blobs/<digest>
  3. 校验 layer SHA256 digest 并解压至本地存储
Registry 认证交互关键头字段
Header用途
AuthorizationBearer token(经WWW-Authenticate挑战后获取)
Docker-Content-Digest用于 blob 上传完整性校验
Manifest 获取示例
GET /v2/library/nginx/manifests/latest HTTP/1.1 Host: registry-1.docker.io Accept: application/vnd.docker.distribution.manifest.v2+json Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjEifQ...
该请求指定 v2 manifest 格式,避免旧版 schema1 兼容性问题;Authorization头携带由 auth server 颁发的短期访问令牌,有效期通常为 20 分钟。

2.2 镜像的构建与分层存储原理实践

镜像的分层结构机制
Docker 镜像采用联合文件系统(UnionFS)实现分层存储,每一层都是只读的增量变更,最终通过合并形成完整的镜像。基础层为操作系统,上层依次叠加软件安装、配置修改等操作。
Dockerfile 构建示例
FROM ubuntu:20.04 LABEL maintainer="admin@example.com" RUN apt-get update && apt-get install -y nginx COPY index.html /var/www/html/ CMD ["nginx", "-g", "daemon off;"]
该 Dockerfile 从 Ubuntu 20.04 基础镜像开始,每条指令生成一个新层。RUN 安装 Nginx 形成第三层,COPY 添加网页文件为第四层,最终 CMD 指定启动命令。
分层优势与缓存机制
  • 提升构建效率:仅重建变更层,其余复用缓存
  • 节省存储空间:多镜像共享相同底层
  • 增强可维护性:清晰的构建历史与版本追踪

2.3 镜像的查看与元信息分析技巧

在容器生态中,准确查看镜像信息并深入分析其元数据是保障部署可靠性的重要环节。通过命令行工具可快速列出本地镜像,同时提取关键元信息用于审计或调试。
镜像列表查看
使用以下命令可列出所有本地镜像:
docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.ID}}\t{{.Size}}"
该命令以表格形式输出镜像仓库名、标签、镜像ID和大小,--format参数自定义列布局,提升信息可读性。
元信息深度解析
执行docker inspect可获取镜像完整元数据,包括构建时间、分层结构、环境变量等:
docker inspect nginx:latest
返回的 JSON 结构包含ArchitectureContainerConfigRootFS等字段,适用于追踪镜像来源与安全合规验证。

2.4 镜像的删除与磁盘空间优化策略

镜像清理的基本操作
Docker 环境中长期运行会产生大量无用镜像,占用宝贵磁盘资源。使用docker rmi命令可删除指定镜像:
# 删除指定镜像(以镜像ID为例) docker rmi e39c8e13a653 # 强制删除正在被容器使用的镜像 docker rmi -f ubuntu:18.04
参数说明:-f 表示强制删除,即使有容器依赖该镜像也会被移除,但容器本身不会被自动删除。
批量清理与自动化策略
建议定期执行以下命令清理悬空镜像(dangling images):
# 删除所有未被使用的镜像 docker image prune -a
配合系统定时任务(如 cron),可实现磁盘空间的自动化维护。
  • 定期清理构建缓存:docker builder prune
  • 监控磁盘使用:docker system df
  • 制定保留策略:仅保留当前业务所需的镜像版本

2.5 镜像标签管理与版本控制最佳实践

语义化标签命名策略
为容器镜像使用清晰、一致的标签命名规范是版本控制的基础。推荐采用语义化版本(SemVer)结合 Git 提交信息的方式,例如:v1.2.0v1.2.0-rc1v1.2.0-gitabc123
  • vX.Y.Z:主版本.次版本.修订号
  • latest:仅用于开发环境,避免在生产中使用
  • git-hash:用于精确追踪构建源码
多标签策略与自动化构建
CI/CD 流程中应自动为镜像打上多个标签,提升可追溯性。
docker build -t myapp:v1.4.0 -t myapp:latest -t myapp:v1.4.0-git$(git rev-parse --short HEAD) . docker push myapp:v1.4.0 docker push myapp:latest docker push myapp:v1.4.0-git$(git rev-parse --short HEAD)
上述命令同时推送三个标签:固定版本便于回滚,latest 提供最新稳定版,Git 哈希标签确保构建可审计。生产部署应优先引用具体版本而非 latest。

第三章:容器生命周期操作

3.1 容器的创建、启动与后台运行模式详解

在容器化技术中,创建和管理容器是基础且关键的操作。使用 `docker run` 命令可一键完成容器的创建与启动。
前台运行模式
默认情况下,容器以前台模式运行,主进程将占用当前终端:
docker run ubuntu:20.04 /bin/echo "Hello Docker"
该命令创建容器、执行指定命令后退出。适用于一次性任务,输出直接显示在控制台。
后台运行模式(Detached Mode)
通过-d参数可使容器在后台运行:
docker run -d --name my_nginx nginx:latest
参数说明:
-d true表示分离模式运行;
--name指定容器名称便于管理。
  • 前台模式适合调试和短期任务
  • 后台模式适用于长期服务如 Web 服务器
容器启动后可通过docker logs查看输出,确保服务正常运行。

3.2 容器的日志查看与状态监控实战

实时日志查看
使用docker logs命令可快速获取容器输出日志。例如:
docker logs -f --tail=50 my-container
其中-f表示持续跟踪日志输出,类似tail -f--tail=50仅显示最近50行,适用于快速定位问题。
容器状态监控
通过docker stats实时查看运行中容器的资源占用:
docker stats my-container
输出包括 CPU、内存、网络和存储使用情况,适合快速识别性能瓶颈。
关键监控指标汇总
指标说明告警阈值建议
CPU Usage容器CPU占用率>80%
Memory实际内存使用量接近限制值90%

3.3 容器的停止、重启与资源回收机制

容器的生命周期管理
容器在运行结束后,若未配置自动重启策略,将进入终止状态。Docker 会保留其文件系统层,便于日志查看或调试。通过docker stop命令可向容器发送 SIGTERM 信号,允许其优雅关闭。
docker stop --time=30 my-container
该命令向容器发送终止信号,并给予 30 秒宽限期。若超时未退出,则强制发送 SIGKILL。
重启策略与自动化恢复
Docker 提供多种重启策略以应对异常中断:
  • no:不自动重启
  • on-failure[:max-retries]:失败时重试
  • always:始终重启,无论退出状态
  • unless-stopped:除非手动停止,否则总是重启
资源回收流程
容器停止后,其占用的内存与 CPU 资源立即释放。网络栈被销毁,挂载的临时卷若未绑定宿主机路径,也将被清除。可通过docker system prune清理已终止容器及相关镜像层,避免磁盘泄漏。

第四章:网络与数据卷配置

4.1 自定义网络模式与容器间通信实战

在Docker中,自定义网络模式可实现容器间的高效、安全通信。通过创建独立的用户定义桥接网络,容器可通过服务名称直接解析IP地址,无需手动映射端口或链接容器。
创建自定义网络
docker network create --driver bridge myapp-network
该命令创建名为myapp-network的桥接网络,--driver bridge指定使用桥接模式,适用于大多数单主机场景。
容器加入自定义网络
启动容器时指定网络:
docker run -d --name web --network myapp-network nginx docker run -d --name api --network myapp-network express-app
两容器位于同一网络,可通过容器名(如http://api:3000)直接通信,提升服务发现效率。
网络优势对比
特性默认桥接自定义桥接
DNS解析不支持支持
安全性高(隔离通信)

4.2 数据卷的创建与持久化存储应用

在容器化应用中,数据卷(Volume)是实现数据持久化的关键机制。通过将宿主机目录或专用存储挂载到容器,可避免因容器生命周期结束而导致的数据丢失。
创建与挂载数据卷
使用 Docker CLI 可快速创建命名数据卷:
docker volume create app-data docker run -d --name webapp -v app-data:/app/data nginx
上述命令创建名为 `app-data` 的卷,并将其挂载至容器的 `/app/data` 路径。数据卷独立于容器存在,即使容器被删除,卷中数据仍保留。
持久化策略对比
方式生命周期适用场景
绑定挂载依赖宿主机路径开发环境调试
命名卷由 Docker 管理生产环境持久化

4.3 绑定挂载与主机目录共享技巧

数据同步机制
绑定挂载(Bind Mount)允许将主机文件系统中的目录或文件直接映射到容器内部,实现数据持久化和实时共享。与卷(Volume)不同,绑定挂载依赖主机的目录结构,适用于开发环境配置同步。
使用示例
docker run -d \ --name dev-app \ -v /home/user/app:/app \ -v /home/user/app/logs:/var/log/app \ nginx:alpine
该命令将主机/home/user/app目录挂载至容器/app,实现代码实时更新;日志目录双向共享,便于主机侧监控。
常用场景对比
场景是否推荐绑定挂载说明
开发环境热更新主机代码修改即时生效
生产环境数据存储建议使用命名卷以提升可移植性

4.4 网络排错与端口映射常见问题解析

常见网络连通性问题
在容器化环境中,宿主机与容器间网络不通是典型问题。常因防火墙规则、Docker网桥配置不当或端口未正确映射导致。使用netstat -tuln可查看端口监听状态,确认服务是否绑定到正确接口。
端口映射配置验证
启动容器时需确保使用-p参数正确映射端口:
docker run -d -p 8080:80 nginx
该命令将宿主机的8080端口映射到容器的80端口。若无法访问,应检查Docker守护进程是否启用IP转发,并确认宿主机无其他服务占用该端口。
排查流程图示
步骤检查项
1容器是否运行中(docker ps)
2端口映射是否正确(docker port <container>)
3防火墙/Iptables是否放行端口

第五章:PDF下载与命令速查清单

实用命令速查表
  • curl -O https://example.com/file.pdf:通过 URL 直接下载 PDF 文件
  • wget --user-agent="Mozilla" https://site.com/doc.pdf:绕过基础 UA 检测下载受限资源
  • pdftotext document.pdf - | grep "关键词":快速在终端中搜索 PDF 文本内容
  • qpdf --encrypt 123456 "" 40 -- document.pdf secured.pdf:使用 qpdf 加密 PDF
自动化下载脚本示例
#!/bin/bash # 批量下载技术文档 PDF urls=( "https://golang.org/doc/effective_go.pdf" "https://redis.io/docs/redis-cli.pdf" ) for url in "${urls[@]}"; do filename=$(basename "$url") if ! curl -f -o "$filename" "$url"; then echo "失败: $filename" else echo "成功: $filename 下载完成" fi done
常用工具与功能对照表
工具主要用途依赖项
curlHTTP 下载与调试无(系统自带)
qpdfPDF 加密/解密、合并libqpdf-dev
poppler-utils提取文本、图像poppler
浏览器开发者工具导出技巧
在 Chrome 中打开含 PDF 预览的页面,通过 Network 标签页过滤doc.pdf类型请求,右键复制请求为 cURL 命令,可直接用于脚本中自动登录后下载受保护文档。配合chromedriver可实现动态认证流程下的批量抓取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1193638.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ViPER4Windows音频增强在Win10/11的完美解决方案

ViPER4Windows音频增强在Win10/11的完美解决方案 【免费下载链接】ViPER4Windows-Patcher Patches for fix ViPER4Windows issues on Windows-10/11. 项目地址: https://gitcode.com/gh_mirrors/vi/ViPER4Windows-Patcher 为什么你的ViPER4Windows在最新系统上总是出问题…

开发者必看:Live Avatar CLI模式参数自定义配置指南

开发者必看&#xff1a;Live Avatar CLI模式参数自定义配置指南 1. 引言&#xff1a;深入理解Live Avatar数字人模型 你可能已经听说过&#xff0c;阿里联合多所高校开源了一款名为Live Avatar的前沿数字人模型。这款模型凭借其高质量的视频生成能力、灵活的参数配置和强大的…

全面掌握WebDAV客户端工具:从入门到精通实战指南

全面掌握WebDAV客户端工具&#xff1a;从入门到精通实战指南 【免费下载链接】webdav Simple Go WebDAV server. 项目地址: https://gitcode.com/gh_mirrors/we/webdav WebDAV作为现代远程文件管理的核心技术&#xff0c;能够将远程服务器文件操作变得如同本地操作一样直…

充电桩安全新突破:B型漏电检测技术如何守护电动汽车充电安全?

2025年我国新能源车渗透率首次突破50%&#xff08;数据来源中国新能源网&#xff09;&#xff0c;2025年11月甚至冲到了59.5%&#xff0c;相当于每卖出100辆车就有近60辆是新能源车。随着电动汽车的普及&#xff0c;相关补能系统也不断完善&#xff0c;各大加油站也都添加了充电…

小白也能懂的YOLOv12:官方镜像快速上手指南

小白也能懂的YOLOv12&#xff1a;官方镜像快速上手指南 你是不是也经历过这样的场景&#xff1f;看到一篇目标检测的新论文&#xff0c;兴致勃勃地想跑个demo&#xff0c;结果光是配置环境就卡了三天&#xff1a;依赖冲突、CUDA版本不匹配、PyTorch装不上……最后只能放弃。 …

YOLOv12官版镜像训练600轮后效果怎么样?实测报告

YOLOv12官版镜像训练600轮后效果怎么样&#xff1f;实测报告 最近&#xff0c;YOLOv12 正式发布&#xff0c;作为 YOLO 系列首次全面转向注意力机制为核心架构的版本&#xff0c;它不仅打破了过去十年依赖卷积神经网络&#xff08;CNN&#xff09;的传统&#xff0c;还在精度与…

Cursor Pro免费解锁终极指南:彻底告别试用限制的完整方案

Cursor Pro免费解锁终极指南&#xff1a;彻底告别试用限制的完整方案 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your …

5步完成!用cv_unet镜像做证件照抠图超简单

5步完成&#xff01;用cv_unet镜像做证件照抠图超简单 你是不是也遇到过这种情况&#xff1a;单位要求提交标准白底证件照&#xff0c;可手头只有生活照&#xff1f;找人P图要等半天&#xff0c;自己用PS又太费时间。别急&#xff0c;今天教你一个5分钟搞定证件照抠图的神器—…

OmenSuperHub终极指南:惠普游戏本性能掌控完全解决方案

OmenSuperHub终极指南&#xff1a;惠普游戏本性能掌控完全解决方案 【免费下载链接】OmenSuperHub 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 厌倦了官方OMEN Gaming Hub的臃肿体积和频繁弹窗干扰&#xff1f;OmenSuperHub这款开源纯净硬件控制工具将…

如何用SQL快速构建数据应用:5分钟上手指南

如何用SQL快速构建数据应用&#xff1a;5分钟上手指南 【免费下载链接】SQLpage SQL-only webapp builder, empowering data analysts to build websites and applications quickly 项目地址: https://gitcode.com/gh_mirrors/sq/SQLpage 你是否曾为构建一个简单的数据展…

如何永久免费解锁Cursor AI Pro?终极解决方案深度解析

如何永久免费解锁Cursor AI Pro&#xff1f;终极解决方案深度解析 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your tri…

揭秘微信消息防撤回技术:RevokeMsgPatcher深度解析与应用指南

揭秘微信消息防撤回技术&#xff1a;RevokeMsgPatcher深度解析与应用指南 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁&#xff08;我已经看到了&#xff0c;撤回也没用了&#xff09; 项目地址: https://git…

Argos Translate:颠覆传统翻译的离线智能引擎深度解析

Argos Translate&#xff1a;颠覆传统翻译的离线智能引擎深度解析 【免费下载链接】argos-translate Open-source offline translation library written in Python 项目地址: https://gitcode.com/GitHub_Trending/ar/argos-translate 还在为数据安全和翻译质量而烦恼吗…

CG-66无线土壤水分传感器:准确监测土壤湿度,助力农业与环境管理

CG-66无线土壤水分传感器:准确监测土壤湿度,助力农业与环境管理土壤水分传感器是一款基于物联网技术的智能监测设备,专为土壤温湿度测量设计。它集传感、无线通信、数据处理与控制技术于一体,能够实时在线监测土壤…

剑指offer-66、机器⼈的运动范围

题目描述 地上有⼀个 m ⾏和 n 列的⽅格。⼀个机器⼈从坐标(0,0) 的格⼦开始移动,每⼀次只能向左,右,上,下四个⽅向移动⼀格,但是不能进⼊⾏坐标和列坐标的数位之和⼤于 k 的格⼦。 例如,当k 为 18 时,机器⼈…

2026年模具厂家权威推荐榜:模具生产厂家/周转箱模具/塑料箱模具/模具开模/水果筐模具/模具厂家/塑料模具/塑料模具加工/选择指南

2026年塑料啤酒箱模具质量表现评测报告根据《2026年中国塑料模具行业发展白皮书》数据,随着啤酒行业向轻量化、循环化转型,塑料啤酒箱因可重复使用、物流成本比纸箱低30%,市场渗透率从2020年的45%提升至2026年的62%…

一键启动Glyph:轻松实现大模型长上下文理解新方式

一键启动Glyph&#xff1a;轻松实现大模型长上下文理解新方式 1. 什么是Glyph&#xff1f;视觉推理的全新思路 在当前大语言模型&#xff08;LLM&#xff09;追求更长上下文窗口的趋势下&#xff0c;主流方案多依赖扩展token数量。然而&#xff0c;这种方式带来了巨大的计算和…

完整破解Cursor Pro限制:快速解锁AI编程助手终极方案

完整破解Cursor Pro限制&#xff1a;快速解锁AI编程助手终极方案 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your tria…

Cursor Pro限制突破实战指南:从困境到解决方案的完整解析

Cursor Pro限制突破实战指南&#xff1a;从困境到解决方案的完整解析 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your …

Live Avatar项目主页指南:liveavatar.github.io资源汇总

Live Avatar项目主页指南&#xff1a;liveavatar.github.io资源汇总 1. 项目概述与背景 Live Avatar是由阿里巴巴联合多所高校共同开源的数字人生成模型&#xff0c;旨在通过AI技术实现高质量、可定制的虚拟人物视频生成。该模型支持从单张图像和音频输入出发&#xff0c;驱动…