Docker Helper 是一个围绕 Docker 操作整理的技能集合,内容以命令示例和最佳实践为主,覆盖从镜像构建到容器运行、调试与清理的常见任务。
用途 该技能用于辅助日常 Docker 工作,包括编写 Dockerfile、构建与推送镜像、管理容器生命周期、配置网络与存储、实施安全加固,以及排查容器运行中的常见问题。
主要能力
- Dockerfile 最佳实践:建议按从最不常变到最常变的顺序排列指令,先复制依赖清单再复制源码,以利用层缓存;强调使用 .dockerignore 减少构建上下文并防止密钥泄露;提供 HEALTHCHECK 示例。
- 镜像管理:涵盖 docker build、tag、push、pull、images、history、rmi、image prune 等命令,支持 --build-arg、--no-cache、-f 指定 Dockerfile 等选项。
- 容器生命周期:包括 run、start、stop、restart、rm、ps、logs、exec 等命令,以及 --restart 策略、-it --rm 临时容器等用法。
- 网络:介绍 network ls/create/connect/disconnect/inspect,说明自定义网络支持按容器名解析 DNS,默认 bridge 不支持;包含端口映射(-p、-P、绑定 localhost)与 host 网络模式(仅 Linux)。
- 卷与绑定挂载:命名卷、绑定挂载、tmpfs,以及 volume ls/inspect/rm 和 docker cp 文件复制。
- 环境变量与密钥:-e、--env-file,以及 BuildKit secret 挂载(--secret、RUN --mount=type=secret)避免密钥进入镜像层。
- 多阶段构建:提供 Go(scratch)、Python、Node.js、Java 的模板,展示构建阶段与运行阶段分离、复制产物、创建非 root 用户等做法。
- 调试:inspect(含格式化输出)、stats、top、diff、events,以及使用 netshoot 作为调试边车容器。
- buildx 多平台构建:创建 builder、构建 linux/amd64 与 linux/arm64 镜像并推送或加载。
- 镜像优化:给出基础镜像体积与适用场景对比(ubuntu、debian-slim、alpine、distroless、scratch),建议合并 RUN 语句、在同一层清理缓存、用 docker history 和 dive 查找大层。
- 安全:非 root 用户、只读文件系统、丢弃 capabilities、no-new-privileges、资源限制;强调不要用 COPY 或 ENV 存放密钥;提供 Trivy 扫描命令。
- 清理与故障排查:container/image/volume/network prune、system prune、system df;退出码含义(0、1、137、126、127)、端口冲突、权限问题、容器间 DNS 解析失败、构建上下文过大等问题的处理。
使用方式 该技能以命令片段和配置示例的形式提供参考,用户可根据实际场景复制并调整命令。示例中包含具体的镜像名、端口、路径等占位内容,需替换为自身项目参数。
适用场景 适合开发者在本地构建与运行容器、编写生产用 Dockerfile、进行多平台镜像构建、排查容器启动失败或网络不通等问题时查阅;也适合运维人员参考安全加固与清理命令。
限制 资料未提供该技能的安装方式、运行环境要求、是否收费、支持平台或版本范围等信息,暂未提供。示例中的命令与配置需结合具体 Docker 版本和系统环境验证后使用。