Collabnix DockerLabs 项目终极 Docker 命令速查指南
前言
作为容器化技术的核心工具,Docker 已经成为现代开发和运维不可或缺的一部分。Collabnix DockerLabs 项目整理的这份 Docker 命令速查表,为开发者提供了全面而系统的 Docker 命令参考。本文将深入解析这份速查表,帮助各个层次的 Docker 用户快速掌握关键命令。
什么是 Docker 命令速查表
命令速查表(Cheat Sheet)是一种高度浓缩的技术参考文档,它以最简洁的形式呈现最关键的信息。对于 Docker 这样的复杂工具,速查表能够:
- 帮助新手快速入门
- 为有经验的用户提供快速参考
- 减少查阅冗长文档的时间
- 系统化整理常用命令
Docker 基础命令
容器生命周期管理
# 从镜像创建并启动容器
docker run [选项] 镜像名
# 示例:启动交互式容器
docker run -it ubuntu /bin/bash
# 仅创建不启动容器
docker create --name my_container nginx
# 启动/停止已有容器
docker start my_container
docker stop my_container
关键选项说明:
-i
保持 STDIN 打开-t
分配伪终端-d
后台运行--name
指定容器名称-p
端口映射-v
卷挂载
容器操作
# 查看容器列表
docker ps # 运行中的容器
docker ps -a # 所有容器
# 在运行中的容器内执行命令
docker exec -it my_container bash
# 删除容器
docker rm my_container
镜像管理
基础操作
# 列出本地镜像
docker images
# 拉取镜像
docker pull ubuntu:20.04
# 删除镜像
docker rmi ubuntu:20.04
构建镜像
# 从Dockerfile构建镜像
docker build -t my_image:1.0 .
# 查看构建历史
docker history my_image:1.0
Dockerfile 最佳实践
基础结构
# 指定基础镜像
FROM python:3.8-slim
# 设置工作目录
WORKDIR /app
# 复制文件
COPY requirements.txt .
# 安装依赖
RUN pip install -r requirements.txt
# 暴露端口
EXPOSE 8000
# 定义启动命令
CMD ["python", "app.py"]
高级技巧
- 多阶段构建:减少最终镜像大小
- 合理使用缓存:将不常变化的指令放在前面
- 最小化镜像:使用alpine等轻量级基础镜像
- 安全检查:定期检查镜像中的问题
Docker Compose 实战
基本配置
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
depends_on:
- redis
redis:
image: redis
常用命令
# 启动服务
docker-compose up -d
# 查看服务状态
docker-compose ps
# 停止服务
docker-compose down
# 查看日志
docker-compose logs -f web
Docker 安全实践
基础安全措施
- 最小权限原则:不以root用户运行容器
- 资源限制:限制容器CPU和内存使用
- 网络隔离:使用自定义网络
- 镜像检查:定期检查镜像问题
安全检查示例
# 检查镜像问题
docker scout cves my_image:latest
# 比较两个镜像的安全性
docker scout compare --to old_image:1.0 new_image:2.0
系统维护与清理
资源清理
# 清理停止的容器
docker container prune
# 清理未使用的镜像
docker image prune -a
# 清理所有未使用的资源
docker system prune
性能监控
# 查看容器资源使用情况
docker stats
# 查看容器详细信息
docker inspect my_container
总结
Collabnix DockerLabs 整理的这份 Docker 命令速查表涵盖了从基础到进阶的各个方面。通过系统学习和实践这些命令,开发者可以:
- 高效管理容器生命周期
- 优化镜像构建过程
- 编排复杂应用架构
- 保障容器环境安全
- 维护健康的Docker环境
建议初学者从基础命令开始,逐步掌握更高级的功能。对于有经验的用户,可以将此速查表作为日常开发的快速参考工具。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考