Docker Cheat Sheet 速查手册:从入门到精通
docker-cheat-sheet Docker Cheat Sheet 项目地址: https://gitcode.com/gh_mirrors/do/docker-cheat-sheet
前言
Docker作为当前最流行的容器化技术,已经成为开发者和运维人员的必备技能。本文将全面介绍Docker的核心概念、常用命令和最佳实践,帮助您快速掌握Docker的使用技巧。
为什么选择Docker
Docker为开发者提供了跨平台的应用打包和运行能力,具有以下显著优势:
- 环境一致性:通过容器技术确保开发、测试和生产环境完全一致
- 资源隔离:每个容器拥有独立的运行环境,互不干扰
- 快速部署:秒级启动时间,大幅提升开发效率
- 易于扩展:支持水平扩展和微服务架构
- 生态丰富:拥有庞大的镜像仓库和活跃的开发者社区
安装指南
Linux系统安装
推荐使用官方提供的便捷安装脚本:
curl -sSL https://get.docker.com/ | sh
内核要求:3.10.x或更高版本
macOS系统安装
推荐使用Docker Community Edition (CE)版本,可通过Homebrew安装:
brew install --cask docker
安装完成后,运行测试容器验证安装:
docker run hello-world
容器管理
容器是Docker的核心概念,理解其生命周期管理至关重要。
容器生命周期命令
| 命令 | 功能描述 | |------|----------| | docker create
| 创建但不启动容器 | | docker run
| 创建并启动容器 | | docker start
| 启动已停止的容器 | | docker stop
| 停止运行中的容器 | | docker restart
| 重启容器 | | docker rm
| 删除容器 | | docker pause
| 暂停容器 | | docker unpause
| 恢复暂停的容器 |
实用技巧
-
后台运行容器:
docker run -td container_id
-t
:分配伪终端-d
:后台运行
-
临时容器:
docker run --rm container_id
容器停止后自动删除
-
资源限制:
docker run -it -m 300M --cpuset-cpus=0,2 ubuntu:14.04
-m
:内存限制--cpuset-cpus
:指定CPU核心
镜像管理
镜像是容器的基础模板,理解镜像管理是掌握Docker的关键。
镜像生命周期命令
| 命令 | 功能描述 | |------|----------| | docker images
| 列出本地镜像 | | docker build
| 通过Dockerfile构建镜像 | | docker pull
| 从仓库拉取镜像 | | docker push
| 推送镜像到仓库 | | docker rmi
| 删除本地镜像 |
镜像导入导出
-
保存镜像:
docker save my_image:tag | gzip > my_image.tar.gz
-
加载镜像:
docker load < my_image.tar.gz
-
导出容器:
docker export my_container | gzip > my_container.tar.gz
-
导入为镜像:
cat my_container.tar.gz | docker import - my_image:tag
网络配置
Docker提供了灵活的网络配置选项,支持容器间通信。
网络管理命令
| 命令 | 功能描述 | |------|----------| | docker network create
| 创建网络 | | docker network ls
| 列出网络 | | docker network inspect
| 查看网络详情 | | docker network connect
| 连接容器到网络 | | docker network disconnect
| 断开容器与网络的连接 |
自定义网络示例
# 创建自定义网络
docker network create --subnet 192.168.0.0/24 my_network
# 指定IP运行容器
docker run --net my_network --ip 192.168.0.2 nginx
Dockerfile最佳实践
Dockerfile是构建镜像的蓝图,遵循最佳实践可提高镜像质量。
基础指令
- FROM:指定基础镜像
- RUN:执行命令
- COPY:复制文件
- ADD:添加文件(支持URL和解压)
- CMD:容器启动命令
- EXPOSE:声明端口
- ENV:设置环境变量
- WORKDIR:设置工作目录
优化建议
- 使用
.dockerignore
文件排除不必要的文件 - 合并RUN指令减少镜像层数
- 使用特定版本标签而非latest
- 最小化镜像体积(使用Alpine基础镜像)
- 合理安排指令顺序,利用缓存机制
安全实践
-
非root用户运行:
RUN groupadd -r user && useradd -r -g user user USER user
-
限制能力:
docker run --cap-drop all --cap-add NET_BIND_SERVICE nginx
-
只读文件系统:
docker run --read-only -v /tmp alpine sh -c 'echo test > /tmp/test'
-
资源限制:
docker run -it --cpus=".5" --memory=512m nginx
常见问题排查
-
查看容器日志:
docker logs -f container_id
-
进入运行中容器:
docker exec -it container_id /bin/bash
-
检查容器资源使用:
docker stats container_id
-
查看容器配置:
docker inspect container_id
总结
本文涵盖了Docker的核心概念和常用操作,从基础安装到高级配置,从容器管理到安全实践。掌握这些知识将帮助您在日常工作中高效使用Docker技术。建议结合实际项目多加练习,逐步深入理解Docker的各个特性。
docker-cheat-sheet Docker Cheat Sheet 项目地址: https://gitcode.com/gh_mirrors/do/docker-cheat-sheet
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考