跳至正文
首页 » Docker 常用指令完整版: 容器, 镜像, 指令缩写

Docker 常用指令完整版: 容器, 镜像, 指令缩写

  • Docker

Docker 常用指令完全指南,按镜像管理、容器生命周期、网络、数据卷等场景分类整理,附英文原词注释和缩写速查表。适合开发者查阅和记忆。

一、镜像管理(Image)

镜像是 Docker 的“安装包”,是一切容器运行的基础。

指令完整英文说明示例
docker images列出本地所有镜像docker images
docker pull从仓库拉取镜像docker pull nginx:latest
docker push推送镜像到仓库docker push myrepo/nginx:v1
docker rmiremove image删除镜像docker rmi nginx
docker build通过 Dockerfile 构建镜像docker build -t myapp .
docker tagtag(标签)给镜像打标签docker tag nginx mynginx:v1
docker save导出镜像为 tar 文件docker save -o nginx.tar nginx
docker load从 tar 文件导入镜像docker load -i nginx.tar
docker history查看镜像构建历史docker history nginx
docker inspectinspect(检查)查看镜像详细信息docker inspect nginx

常用组合

bash
# 删除所有未使用的镜像
docker image prune

# 删除所有镜像(慎用)
docker rmi $(docker images -q)   # -q = quiet,只输出ID

# 查看镜像占用空间
docker system df

二、容器生命周期(Container)

容器是镜像运行起来的实例,相当于“正在运行的程序”。

2.1 创建与运行

指令完整英文说明示例
docker run创建并启动容器docker run nginx
docker create只创建不启动docker create --name mynginx nginx
docker start启动已停止的容器docker start mynginx
docker stop优雅停止容器docker stop mynginx
docker restart重启容器docker restart mynginx
docker kill强制终止容器docker kill mynginx
docker pause暂停容器docker pause mynginx
docker unpause恢复暂停的容器docker unpause mynginx
docker rmremove删除容器docker rm mynginx
docker rename重命名容器docker rename old new

2.2 常用选项(docker run 的搭配)

选项完整英文说明
-ddetach后台运行
-itinteractive + tty交互式运行(可输入命令)
--name给容器指定名称
--rmremove容器退出后自动删除
-ppublish端口映射(宿主机:容器)
-vvolume挂载数据卷
-eenvironment设置环境变量
-wworkdir设置工作目录
-uuser指定运行用户
-mmemory内存限制
--restart重启策略

2.3 实用示例

# 后台运行 Nginx,映射端口,命名容器
docker run -d --name web -p 80:80 nginx

# 交互式进入 Ubuntu 容器
docker run -it --name myubuntu ubuntu bash

# 一次性任务:运行后自动删除
docker run --rm -it alpine echo "Hello"

# 挂载当前目录到容器内
docker run -v $(pwd):/app -w /app node node app.js

三、容器操作与调试

指令完整英文说明示例
docker psprocess status列出运行中的容器docker ps
docker ps -aall列出所有容器(含停止)docker ps -a
docker execexecute在容器内执行命令docker exec -it web bash
docker logs查看容器日志docker logs -f web
docker top查看容器内进程docker top web
docker statsstatistics实时查看资源占用docker stats web
docker attachattach(附着)附着到容器主进程docker attach web
docker cpcopy容器与宿主机间复制文件docker cp web:/app/log.txt .
docker diffdifference查看容器文件变化docker diff web
docker wait等待容器停止并返回码docker wait web
docker port查看端口映射docker port web

常用组合

# 进入容器内部(最常用)
docker exec -it 容器名 /bin/bash    # 或 /bin/sh

# 持续跟踪日志
docker logs -f --tail 100 web      # -f = follow, --tail = 显示最后100行

# 批量停止/删除所有容器
docker stop $(docker ps -q)
docker rm $(docker ps -aq)

# 一键清理:删除所有停止的容器
docker container prune

四、网络管理(Network)

指令说明示例
docker network ls列出所有网络docker network ls
docker network create创建网络docker network create mynet
docker network inspect查看网络详情docker network inspect mynet
docker network connect将容器连接到网络docker network connect mynet web
docker network disconnect断开容器网络docker network disconnect mynet web
docker network rm删除网络docker network rm mynet
docker network prune删除未使用的网络docker network prune

常用网络驱动

驱动说明
bridge默认,单机容器间通信
host使用宿主机网络
none无网络
overlay跨主机通信(Swarm 模式)

# 创建自定义桥接网络并在其中运行容器
docker network create mynet
docker run -d –name app1 –network mynet nginx
docker run -d –name app2 –network mynet nginx

# app1 和 app2 可以通过容器名互相访问

五、数据卷管理(Volume)

指令说明示例
docker volume ls列出所有数据卷docker volume ls
docker volume create创建数据卷docker volume create mydata
docker volume inspect查看卷详情docker volume inspect mydata
docker volume rm删除数据卷docker volume rm mydata
docker volume prune删除未使用的卷docker volume prune

三种挂载方式对比

类型语法说明
绑定挂载-v /host/path:/container/path挂载宿主机目录
命名卷-v mydata:/container/pathDocker 管理的卷
匿名卷-v /container/path自动生成随机卷名
# 绑定挂载:代码开发常用
docker run -v $(pwd):/app -w /app node npm start

# 命名卷:数据库持久化
docker run -v pgdata:/var/lib/postgresql/data postgres

六、系统管理

指令完整英文说明示例
docker infoinformationDocker 系统信息docker info
docker version版本信息docker version
docker system dfdisk free磁盘使用情况docker system df
docker system pruneprune(修剪)清理未使用的资源docker system prune -a
docker events实时事件流docker events

清理命令对比

命令清理内容
docker container prune停止的容器
docker image prune未使用的镜像
docker volume prune未使用的卷
docker network prune未使用的网络
docker system prune -a以上全部 + 所有未使用镜像

七、Docker Compose

Compose 用于多容器应用编排,配置文件为 docker-compose.yml

指令说明示例
docker-compose up启动所有服务docker-compose up -d
docker-compose down停止并删除容器docker-compose down -v
docker-compose ps列出服务状态docker-compose ps
docker-compose logs查看日志docker-compose logs -f
docker-compose exec在服务中执行命令docker-compose exec web bash
docker-compose build重新构建镜像docker-compose build
docker-compose restart重启服务docker-compose restart web
docker-compose stop/start停止/启动服务docker-compose stop
docker-compose pull拉取最新镜像docker-compose pull

八、快速查阅卡片

按场景速查

我想…用这个命令
下载镜像docker pull 镜像名
查看本地镜像docker images
删除镜像docker rmi 镜像名
运行容器docker run -d --name 名 镜像
查看运行中的容器docker ps
查看所有容器docker ps -a
进入容器docker exec -it 容器名 bash
查看日志docker logs -f 容器名
停止容器docker stop 容器名
删除容器docker rm 容器名
端口映射-p 8080:80
挂载目录-v /host:/container
后台运行-d
清理垃圾docker system prune -a

常用缩写速记表

缩写完整单词含义
-ddetach后台运行
-itinteractive + tty交互模式
-ppublish端口映射
-vvolume挂载卷
-eenvironment环境变量
-qquiet只输出ID
-ffollow / force跟踪日志 / 强制
-aall全部
rmiremove image删镜像
psprocess status查看进程

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注