首页/对照列表/Docker 常用备忘

Docker 命令备忘单

常见 Docker 容器、镜像、网络和卷命令的快速参考。

Basics
docker version

Show Docker version information

Basics
docker info

Display system-wide information

Images
docker pull <image>

Pull an image or a repository from a registry

Images
docker images

List images

Images
docker rmi <image>

Remove one or more images

Images
docker build -t <tag> .

Build an image from a Dockerfile

Containers
docker run -it <image> /bin/bash

Run a command in a new container interactively

Containers
docker run -d -p 80:80 <image>

Run container in background and publish ports

Containers
docker ps

List running containers

Containers
docker ps -a

List all containers (running and stopped)

Containers
docker stop <container>

Stop one or more running containers

Containers
docker rm <container>

Remove one or more containers

Volumes
docker volume ls

List volumes

Volumes
docker volume create <name>

Create a volume

Docker Compose
docker-compose up -d

Build, (re)create, start, and attach to containers

Docker Compose
docker-compose down

Stop and remove containers, networks, images, and volumes

功能简介

Docker 常用备忘

Docker 常用备忘速查。聚合了容器管理、镜像构建、网络配置及卷挂载的所有主流命令语法,是 DevOps 运维的口袋级指南。

如何使用

1. 展开不同的 Docker 操作分类;2. 查阅命令的参数说明与应用实例;3. 一键复制并微调用于您的终端。

安全保障

纯文档参考工具。我们不通过任何形式连接您的 Docker 守护进程,亦不嗅探您的容器元数据。

100% Client Side
📘 使用指南与技术说明

痛点引入

作为开发者,谁没在Docker上踩过坑?明明上周还能正常运行的容器,今天突然报错;想快速查看某个镜像的详细信息,却记不清具体命令参数;团队联调时,因为环境不一致导致bug频发。这些尴尬时刻,往往是因为没有一份靠谱的Docker命令速查表。有了这份Docker常用备忘,相当于请了个24小时在线的Docker专家,帮你告别摸鱼找命令的烦恼!

核心功能深度解析

Docker的核心在于镜像分层和容器生命周期管理。镜像采用UnionFS文件系统,通过只读层叠加实现高效存储。当运行docker run时,Docker会在镜像层之上创建可写层,形成容器。docker commit则是将可写层打包成新镜像,但最佳实践是使用Dockerfile构建。网络方面,Docker默认创建bridge网络,容器通过虚拟网卡通信,理解iptables规则和端口映射机制能帮你解决90%的网络问题。

行业应用场景

联调环境:团队使用docker-compose up一键启动全套服务,保证环境一致。 测试环节:通过docker exec进入容器调试,用docker logs实时查看日志。 生产部署:结合CI/CD,使用docker build构建镜像,docker push推送到仓库,docker swarm或K8s进行编排。 数据管理:用docker volume持久化数据库,避免容器删除数据丢失。

FAQ 常见问题

Q1:为什么容器启动后立即退出? A:通常是因为容器内没有前台进程。Docker要求至少有一个进程在前台运行,否则容器认为任务完成自动退出。解决方案:在Dockerfile中使用CMD ["nginx", "-g", "daemon off;"]或启动时加-it参数。

Q2:如何清理无用的镜像和容器? A:使用docker system prune -a一键清理,但注意这会删除所有未使用的资源。更精准的方式:docker container prune清理停止的容器,docker image prune清理悬空镜像。

Q3:容器内如何访问宿主机服务? A:在Linux下使用host.docker.internal172.17.0.1(默认bridge网关),Windows/macOS需要特殊配置。更好的做法是使用--network=host模式,但要注意安全性。

Q4:Dockerfile中COPY和ADD的区别? A:两者都能复制文件,但ADD支持自动解压tar包和URL下载。最佳实践:除非需要解压功能,否则一律使用COPY,因为ADD的行为不够透明。

Q5:如何查看容器的实时资源使用情况? A:docker stats命令显示所有容器的CPU、内存、网络IO实时数据,类似Linux的top命令。

技术科普/延伸阅读

Docker遵循OCI(Open Container Initiative)标准,但实际使用中仍有不少“黑魔法”。比如,为什么有时候docker stop无法优雅停止容器?这涉及到Linux信号机制和进程树管理。另外,Docker的overlay2存储驱动如何优化写时复制性能?这些底层细节值得深入探索。推荐阅读《Docker Deep Dive》和官方文档的Storage Driver章节。

📖 精选技术文章推荐

那些藏在 URL 里的双重编码漏洞:一次 SQL 注入的完整路径

明明部署了昂贵的 WAF 防火墙,为什么数据库还是被拖库了?黑客并没有使用什么零日漏洞,而是巧妙地利用了 URL 的“双重编码”特性。本文将带你重构一次真实的攻击路径,揭示架构分层中的安全盲区,以及开发者最容易犯的致命错误。

那个把对象直接 toString 传进 URL 的同事,把我们的接口搞崩了

一个前端新人的失误:'?filter=[object Object]',让后端的 JSON.parse 直接崩溃,引发了一场 P3 级事故。本文深入探讨 JSON 与 GET 参数互转的种种陷阱:嵌套对象怎么传?数组怎么解析?URL 长度限制在哪里?以及如何避开这些暗坑。

计算机差点变成巴别塔:Unicode 发明前,我们如何处理多语言文字

在 UTF-8 统治世界之前,计算机世界曾是一片混乱的割据地。为了显示中文、日文或希腊文,开发者们发明了无数互不兼容的“代码页”。本文带你回顾那段满是乱码、冲突与妥协的编码演进史,理解 Unicode 存在的终极意义。

消失的字符:处理民族文字展示时的编码与渲染深坑

在开发文本分析工具时,我们发现 UTF-8 并不是万能药。当遇到藏文的叠加字、维吾尔文的 RTL 镜像渲染以及复杂的 Unicode 代理对时,传统的字符串处理逻辑会瞬间失效。本文记录 daima.life 在适配多元文字时的技术复盘。

💡 想要更多功能?

发现 Bug 或是希望加入新工具?支持免费提建议或商业私有化定制开发