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的核心概念、常用命令和最佳实践,帮助您快速掌握Docker的使用技巧。

为什么选择Docker

Docker为开发者提供了跨平台的应用打包和运行能力,具有以下显著优势:

  1. 环境一致性:通过容器技术确保开发、测试和生产环境完全一致
  2. 资源隔离:每个容器拥有独立的运行环境,互不干扰
  3. 快速部署:秒级启动时间,大幅提升开发效率
  4. 易于扩展:支持水平扩展和微服务架构
  5. 生态丰富:拥有庞大的镜像仓库和活跃的开发者社区

安装指南

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 | 恢复暂停的容器 |

实用技巧

  1. 后台运行容器

    docker run -td container_id
    
    • -t:分配伪终端
    • -d:后台运行
  2. 临时容器

    docker run --rm container_id
    

    容器停止后自动删除

  3. 资源限制

    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 | 删除本地镜像 |

镜像导入导出

  1. 保存镜像

    docker save my_image:tag | gzip > my_image.tar.gz
    
  2. 加载镜像

    docker load < my_image.tar.gz
    
  3. 导出容器

    docker export my_container | gzip > my_container.tar.gz
    
  4. 导入为镜像

    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是构建镜像的蓝图,遵循最佳实践可提高镜像质量。

基础指令

  1. FROM:指定基础镜像
  2. RUN:执行命令
  3. COPY:复制文件
  4. ADD:添加文件(支持URL和解压)
  5. CMD:容器启动命令
  6. EXPOSE:声明端口
  7. ENV:设置环境变量
  8. WORKDIR:设置工作目录

优化建议

  1. 使用.dockerignore文件排除不必要的文件
  2. 合并RUN指令减少镜像层数
  3. 使用特定版本标签而非latest
  4. 最小化镜像体积(使用Alpine基础镜像)
  5. 合理安排指令顺序,利用缓存机制

安全实践

  1. 非root用户运行

    RUN groupadd -r user && useradd -r -g user user
    USER user
    
  2. 限制能力

    docker run --cap-drop all --cap-add NET_BIND_SERVICE nginx
    
  3. 只读文件系统

    docker run --read-only -v /tmp alpine sh -c 'echo test > /tmp/test'
    
  4. 资源限制

    docker run -it --cpus=".5" --memory=512m nginx
    

常见问题排查

  1. 查看容器日志

    docker logs -f container_id
    
  2. 进入运行中容器

    docker exec -it container_id /bin/bash
    
  3. 检查容器资源使用

    docker stats container_id
    
  4. 查看容器配置

    docker inspect container_id
    

总结

本文涵盖了Docker的核心概念和常用操作,从基础安装到高级配置,从容器管理到安全实践。掌握这些知识将帮助您在日常工作中高效使用Docker技术。建议结合实际项目多加练习,逐步深入理解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
发出的红包

打赏作者

夏庭彭Maxine

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

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

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

打赏作者

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

抵扣说明:

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

余额充值