Docker 命令速查手册
Docker 命令速查手册近期转战运维各种和docker打交道。记录一下常用到的命令。一、基础信息与帮助命令详细解释docker --version仅显示 Docker 客户端版本号用于快速确认是否安装成功。docker version显示 Client客户端和 Server守护进程的完整版本信息常用于排查版本不兼容问题。docker info查看 Docker 系统全局信息包括容器数量、镜像数量、存储驱动、CPU / 内存、镜像仓库等。docker help显示所有可用命令分类及简要说明。docker cmd --help查看某个具体命令的参数说明例如docker run --help。二、镜像Image管理1️⃣ 获取镜像docker pull nginx:1.25作用从镜像仓库默认 Docker Hub下载镜像。:1.25指定标签tag不写默认是latest。2️⃣ 查看镜像docker images docker image ls显示本地已有镜像。字段含义REPOSITORY镜像名TAG版本IMAGE ID镜像唯一 IDSIZE占用空间docker images -a显示所有镜像包括中间层镜像。3️⃣ 构建镜像docker build -t myapp:1.0 .build根据 Dockerfile 构建镜像。-t指定镜像名和标签。.构建上下文路径Dockerfile 所在目录。docker build -t myapp:prod -f Dockerfile.prod .-f指定自定义 Dockerfile 文件名。4️⃣ 删除镜像docker rmi nginx:1.25删除指定镜像需先删除依赖它的容器。docker rmi image_id使用镜像 ID 删除。docker image prune删除悬空镜像没有 tag 的镜像。docker image prune -a删除所有未被容器使用的镜像⚠️ 谨慎。5️⃣ 导出 / 导入镜像docker save myapp:1.0 myapp.tar将镜像保存为 tar 文件便于离线传输。docker load myapp.tar从 tar 文件加载镜像到本地。三、容器Container管理1️⃣ 运行容器docker run nginx前台运行容器终端关闭则容器停止。docker run -d nginx-d后台运行detached。docker run -p 8080:80 nginx-p端口映射宿主机端口 : 容器端口docker run --name mynginx -d -p 80:80 nginx--name指定容器名称不可重复。dockerrun--namemynginx--networkhost-dnginx--network使用网络host指使用宿主机网络栈。注意–network host 和-p 80:80互斥因为–network host已经使用了宿主机网络了就不需要再做端口映射了。常用运行参数详解参数含义-it交互式终端常用于 shell--rm容器停止后自动删除-e KEYvalue设置环境变量-v挂载数据卷或目录--restartalwaysDocker 启动时自动启动容器2️⃣ 查看容器docker ps查看正在运行的容器。docker ps -a查看所有容器含已停止。3️⃣ 启停容器docker start mynginx docker stop mynginx docker restart mynginx启动 / 停止 / 重启容器。docker pause mynginx docker unpause mynginx暂停 / 恢复容器内所有进程冻结 CPU。4️⃣ 删除容器docker rm mynginx删除已停止的容器。docker rm -f mynginx强制删除无论是否运行。docker container prune删除所有已停止的容器。四、进入容器与日志进入容器docker exec -it mynginx bashexec在运行中的容器执行命令。-it分配交互式终端。bash启动 Bash若无 Bash 可用sh。查看日志docker logs mynginx查看容器标准输出日志。docker logs -f mynginx实时跟踪日志类似tail -f。docker logs --tail 100 mynginx只看最后 100 行。dockerlogs--tail100mynginx查看最近 100 条日志并持续实时输出新日志。五、数据卷Volumedocker volume create mydata创建一个命名数据卷。docker volume ls列出所有数据卷。docker volume inspect mydata查看数据卷详细信息挂载点位置等。docker volume rm mydata删除指定数据卷。docker volume prune删除未使用的数据卷。挂载示例说明-v mydata:/usr/share/nginx/html使用命名卷。-v $(pwd):/app使用主机目录绑定挂载Bind Mount。六、网络Networkdocker network ls查看所有网络。docker network create mynet创建自定义桥接网络。docker network inspect mynet查看网络详情连接的容器等。docker network connect mynet mynginx将容器接入指定网络。docker network disconnect mynet mynginx断开连接。七、Docker Composedocker compose up -d根据docker-compose.yml启动所有服务。docker compose down停止并删除容器、网络不会删镜像。docker compose ps查看当前项目容器状态。docker compose logs查看所有服务日志。docker compose build构建镜像。八、资源与性能命令说明docker stats实时查看容器 CPU / 内存 / 网络docker top mynginx查看容器内运行的进程docker inspect mynginx查看容器底层 JSON 信息docker diff mynginx查看容器文件系统变更九、清理与维护涉及容器安全谨慎处理docker system df查看 Docker 磁盘占用情况。docker system prune删除停止容器、未用网络、悬空镜像。docker system prune -a --volumes⚠️彻底清理镜像 数据卷生产环境慎用。