Docker Cheat Sheet:开发者必备的Docker命令宝典
🚀 Docker Cheat Sheet 是每个开发者和运维工程师都应该收藏的终极命令参考指南!这份宝典整理了Docker从入门到精通的核心命令,让你快速掌握容器化部署的秘诀。无论你是Docker新手还是经验丰富的专家,这份快速参考手册都能为你节省大量时间。
为什么选择Docker?
Docker彻底改变了应用程序的部署方式。通过Docker,开发者可以使用任何语言和工具链构建应用程序。"Docker化"的应用完全可移植,可以在任何地方运行 - 同事的OS X和Windows笔记本电脑、云端运行的Ubuntu QA服务器,以及运行Red Hat的生产数据中心虚拟机。
Docker帮助开发者更快地构建和交付更高质量的应用程序。借助Docker Hub,开发者可以自动化构建管道,并通过公共或私有仓库与协作者共享工件。
Docker核心概念速览
🐳 容器(Containers)
容器是Docker的基本隔离进程单元。它们是虚拟机的轻量级替代品,就像进程中的线程一样高效。
📦 镜像(Images)
镜像是Docker容器的模板,包含运行应用程序所需的所有依赖项和配置。
🔗 网络(Networks)
Docker提供强大的网络功能,允许容器之间安全通信,同时与未连接网络的容器隔离。
快速安装指南
Linux系统安装
运行Docker提供的快速安装脚本:
curl -sSL https://get.docker.com/ | sh
macOS系统安装
下载并安装Docker Community Edition。如果你有Homebrew-Cask,只需输入brew install --cask docker。
验证安装
安装完成后,运行以下命令验证:
docker version
docker run hello-world
容器管理命令大全
生命周期管理
docker create- 创建但不启动容器docker run- 创建并启动容器docker rm- 删除容器docker update- 更新容器资源限制
启动与停止
docker start- 启动已停止的容器docker stop- 停止运行中的容器docker restart- 重启容器
Docker镜像提交流程类似于Git的Pull Request操作
镜像操作技巧
镜像生命周期
docker images- 显示所有镜像docker build- 从Dockerfile构建镜像docker commit- 从容器创建镜像docker rmi- 删除镜像
镜像导入导出
保存现有镜像:
docker save my_image:my_tag | gzip > my_image.tar.gz
加载镜像文件:
docker load < my_image.tar.gz
Dockerfile最佳实践
Dockerfile是配置Docker容器的关键文件。与docker commit相比,使用Dockerfile构建镜像更为推荐。
核心指令
FROM- 设置基础镜像RUN- 执行命令COPY- 复制文件到容器EXPOSE- 声明容器监听端口CMD- 提供容器默认执行命令
网络配置秘籍
Docker自动创建3个网络接口:bridge、host和none。默认情况下,新容器会启动到bridge网络中。
网络管理
docker network create- 创建新网络docker network ls- 列出网络docker network connect- 连接容器到网络
数据卷管理
Docker卷是自由浮动的文件系统,不需要连接到特定容器。从Docker 1.9.0开始,Docker有了命名卷,取代了数据专用容器。
实用技巧与快捷方式
系统清理
docker system prune- 清理系统docker volume prune- 清理未使用的卷docker image prune- 清理未使用的镜像
容器监控
docker stats $(docker ps -q)
安全最佳实践
Docker以root权限运行,因此安全性至关重要:
- 在虚拟机内运行Docker以增加安全性
- 使用AppArmor / seccomp / SELinux限制容器权限
- 设置容器为只读模式
多容器编排
使用Docker Compose可以轻松管理多容器应用:
docker-compose -f <docker-compose-file> up
🚀 总结:这份Docker Cheat Sheet涵盖了容器化部署的核心命令和最佳实践。无论是开发环境配置、应用部署还是生产环境维护,这些命令都能帮助你高效工作。
记住:Docker的魅力在于其一致性和可重复性。掌握这些命令,你将能够快速构建、测试和部署应用程序,真正实现"一次构建,到处运行"的理想!
🎯 建议:将这份宝典加入书签,在需要时快速查阅。随着Docker生态系统的不断发展,这些核心命令将始终是你容器化之旅的可靠伙伴。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0193- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
awesome-zig一个关于 Zig 优秀库及资源的协作列表。Makefile00
