Docker Cheat Sheet 技术速查手册:从入门到精通

Docker Cheat Sheet 技术速查手册:从入门到精通

docker-cheat-sheet Docker Cheat Sheet docker-cheat-sheet 项目地址: https://gitcode.com/gh_mirrors/do/docker-cheat-sheet

前言

Docker 作为当前最流行的容器化技术,已经成为开发者和运维人员必备的技能之一。本文将基于 Docker Cheat Sheet 项目,系统性地介绍 Docker 的核心概念、常用命令和最佳实践,帮助读者快速掌握 Docker 技术栈。

Docker 基础概念

容器与虚拟机的区别

Docker 容器与传统虚拟机有着本质区别:

  • 轻量级:容器共享主机操作系统内核,不需要为每个容器加载完整的操作系统
  • 快速启动:容器可以在毫秒级别启动,而虚拟机通常需要数秒
  • 高效资源利用:容器对系统资源的消耗远低于虚拟机
  • 可移植性:容器可以在任何支持 Docker 的环境中运行,保证环境一致性

Docker 核心组件

  1. Docker 引擎:核心组件,负责创建和运行容器
  2. 镜像(Images):只读模板,用于创建容器
  3. 容器(Containers):镜像的运行实例
  4. 仓库(Registry):存储和分发镜像的服务

安装与配置

各平台安装指南

Linux 系统
# 使用官方脚本快速安装
curl -sSL https://get.docker.com/ | sh

# 验证安装
sudo docker run hello-world
macOS 系统

推荐使用 Docker Desktop for Mac,它提供了图形界面和完整的 Docker 环境。

Windows 系统

Windows 10/11 专业版和企业版支持 Docker Desktop for Windows,需要启用 Hyper-V 功能。

版本检查

# 查看 Docker 版本信息
docker version

# 仅查看服务端版本
docker version --format '{{.Server.Version}}'

容器操作

容器生命周期管理

| 命令 | 功能描述 | |------|----------| | docker create | 创建但不启动容器 | | docker run | 创建并启动容器 | | docker start | 启动已停止的容器 | | docker stop | 停止运行中的容器 | | docker restart | 重启容器 | | docker pause | 暂停容器 | | docker unpause | 恢复暂停的容器 | | docker rm | 删除容器 |

实用操作示例

# 运行一个交互式容器
docker run -it ubuntu /bin/bash

# 运行容器并在退出后自动删除
docker run --rm alpine echo "Hello World"

# 后台运行容器
docker run -d nginx

# 查看运行中的容器
docker ps

# 查看所有容器(包括停止的)
docker ps -a

镜像管理

镜像基本操作

| 命令 | 功能描述 | |------|----------| | docker images | 列出本地镜像 | | docker pull | 从仓库拉取镜像 | | docker build | 通过 Dockerfile 构建镜像 | | docker rmi | 删除镜像 | | docker tag | 为镜像打标签 |

镜像构建与分发

# 从 Dockerfile 构建镜像
docker build -t my-image:1.0 .

# 将镜像保存为 tar 文件
docker save my-image:1.0 > my-image.tar

# 从 tar 文件加载镜像
docker load < my-image.tar

网络与存储

网络配置

# 创建自定义网络
docker network create my-network

# 将容器连接到指定网络
docker run --network=my-network my-image

数据卷管理

# 创建命名卷
docker volume create my-volume

# 挂载卷到容器
docker run -v my-volume:/data my-image

# 挂载主机目录
docker run -v /host/path:/container/path my-image

Dockerfile 最佳实践

编写高效的 Dockerfile 需要注意以下几点:

  1. 使用官方基础镜像:优先选择官方维护的基础镜像
  2. 多阶段构建:减少最终镜像大小
  3. 合理排序指令:将变化频率低的指令放在前面
  4. 最小化层数:合并相关命令减少镜像层数
  5. 清理无用文件:构建过程中产生的临时文件应及时删除

示例 Dockerfile:

# 多阶段构建示例
FROM golang:1.16 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp .

FROM alpine:latest
WORKDIR /root/
COPY --from=builder /app/myapp .
CMD ["./myapp"]

安全建议

  1. 避免使用 root 用户:在容器内创建非特权用户
  2. 限制资源使用:设置 CPU 和内存限制
  3. 定期更新镜像:使用最新安全补丁
  4. 扫描风险:使用 docker scan 检查镜像潜在问题
  5. 最小权限原则:仅授予容器必要的权限
# 设置资源限制
docker run -it --cpus=".5" --memory="512m" ubuntu

# 扫描镜像风险
docker scan my-image:1.0

高级技巧

容器调试

# 进入运行中的容器
docker exec -it container_id /bin/bash

# 查看容器日志
docker logs -f container_id

# 检查容器详细信息
docker inspect container_id

性能监控

# 查看容器资源使用情况
docker stats

# 查看容器内进程
docker top container_id

总结

本文涵盖了 Docker 的核心概念和常用操作,从基础安装到高级用法,为开发者提供了全面的参考指南。掌握这些知识后,读者应能够:

  1. 熟练使用 Docker 管理容器和镜像
  2. 编写高效的 Dockerfile
  3. 配置容器网络和存储
  4. 实施基本的安全措施
  5. 进行容器调试和性能监控

Docker 技术生态仍在不断发展,建议读者持续关注官方文档和社区动态,以获取最新的最佳实践和技术更新。

docker-cheat-sheet Docker Cheat Sheet docker-cheat-sheet 项目地址: https://gitcode.com/gh_mirrors/do/docker-cheat-sheet

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计姗群

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值