Docker 命令大全

容器生命周期管理

基本生命周期命令

docker run

创建并启动一个新的容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

常用选项:

# 后台运行容器
docker run -d IMAGE
# 指定容器名称
docker run --name CONTAINER_NAME IMAGE
# 映射端口
docker run -p HOST_PORT:CONTAINER_PORT IMAGE
# 挂载数据卷
docker run -v HOST_PATH:CONTAINER_PATH IMAGE

docker start/stop/restart

启动、停止和重启容器

# 启动容器
docker start CONTAINER
# 停止容器
docker stop CONTAINER
# 重启容器
docker restart CONTAINER

docker kill

立即终止一个或多个正在运行的容器

docker kill [OPTIONS] CONTAINER [CONTAINER...]

docker rm

删除一个或多个已经停止的容器

# 删除指定容器
docker rm CONTAINER
# 强制删除正在运行的容器
docker rm -f CONTAINER
# 删除所有已停止的容器
docker container prune

高级生命周期命令

docker pause/unpause

暂停和恢复容器中的所有进程

# 暂停容器
docker pause CONTAINER
# 恢复容器
docker unpause CONTAINER

docker create

创建一个新的容器,但不会启动它

docker create [OPTIONS] IMAGE [COMMAND] [ARG...]

示例:

# 创建一个 nginx 容器但不启动
docker create --name my-nginx nginx
# 创建带环境变量的容器
docker create -e MYSQL_ROOT_PASSWORD=123456 mysql

docker exec

在运行中的容器内执行命令

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

常用示例:

# 进入容器交互式终端
docker exec -it CONTAINER bash
# 在容器中执行命令
docker exec CONTAINER ls /
# 以特定用户执行命令
docker exec -u USER CONTAINER COMMAND

容器操作

基本操作命令

docker ps

列出 Docker 容器

# 列出运行中的容器
docker ps
# 列出所有容器(包括已停止的)
docker ps -a
# 只显示容器 ID
docker ps -q
# 显示容器大小
docker ps -s

docker inspect

获取容器或镜像的详细信息

# 查看容器详细信息
docker inspect CONTAINER
# 查看镜像详细信息
docker inspect IMAGE
# 获取特定信息(使用 Go 模板)
docker inspect --format='{{.NetworkSettings.IPAddress}}' CONTAINER

docker logs

获取容器的日志

# 查看容器日志
docker logs CONTAINER
# 实时查看日志
docker logs -f CONTAINER
# 显示时间戳
docker logs -t CONTAINER
# 显示最近的 n 行日志
docker logs --tail=n CONTAINER

监控和统计命令

docker stats

显示容器资源使用统计

# 显示所有容器的统计信息
docker stats
# 显示指定容器的统计信息
docker stats CONTAINER
# 只显示容器 ID 和 CPU 使用率
docker stats --format "{{.Container}}: {{.CPUPerc}}"

docker top

显示容器中运行的进程

docker top CONTAINER [ps OPTIONS]

docker events

实时显示 Docker 服务器的事件

# 实时查看事件
docker events
# 显示最近一小时的事件
docker events --since 1h
# 按事件类型过滤
docker events --filter 'type=container'

镜像管理

镜像操作命令

docker images

列出本地镜像

# 列出所有镜像
docker images
# 只显示镜像 ID
docker images -q
# 显示镜像摘要
docker images --digests
# 按特定格式显示
docker images --format "{{.Repository}}: {{.Tag}}"

docker pull/push

拉取和推送镜像

# 拉取镜像
docker pull [OPTIONS] NAME[:TAG]
# 推送镜像
docker push NAME[:TAG]
# 拉取特定版本
docker pull ubuntu:20.04
# 推送到私有仓库
docker push registry.example.com/my-ubuntu

docker build

从 Dockerfile 构建镜像

# 从当前目录构建
docker build .
# 指定标签构建
docker build -t NAME:TAG .
# 使用特定的 Dockerfile
docker build -f Dockerfile.dev .
# 构建时传入参数
docker build --build-arg VERSION=1.0 .

docker rmi

删除镜像

# 删除特定镜像
docker rmi IMAGE
# 强制删除镜像
docker rmi -f IMAGE
# 删除所有未使用的镜像
docker image prune
# 删除所有镜像
docker rmi $(docker images -q)

网络管理

网络命令

网络基本操作

# 列出网络
docker network ls
# 创建网络
docker network create NETWORK
# 删除网络
docker network rm NETWORK
# 查看网络详细信息
docker network inspect NETWORK

容器网络操作

# 连接容器到网络
docker network connect NETWORK CONTAINER
# 断开容器与网络的连接
docker network disconnect NETWORK CONTAINER
# 创建自定义网络
docker network create --driver bridge --subnet=192.168.0.0/16 my-net

数据卷管理

数据卷命令

数据卷基本操作

# 列出所有数据卷
docker volume ls
# 创建数据卷
docker volume create VOLUME
# 删除数据卷
docker volume rm VOLUME
# 删除所有未使用的数据卷
docker volume prune

数据卷使用

# 查看数据卷详细信息
docker volume inspect VOLUME
# 在容器中使用数据卷
docker run -v VOLUME:/container/path IMAGE
# 挂载主机目录
docker run -v /host/path:/container/path IMAGE

Docker Compose

Compose 命令

基本命令

# 启动所有服务
docker compose up
# 后台启动所有服务
docker compose up -d
# 停止并删除所有服务
docker compose down
# 查看服务状态
docker compose ps

服务操作

# 构建服务
docker compose build
# 重启服务
docker compose restart
# 查看服务日志
docker compose logs
# 在服务中执行命令
docker compose exec SERVICE COMMAND

系统管理

系统命令

系统信息

# 显示系统信息
docker info
# 显示 Docker 版本信息
docker version
# 显示磁盘使用情况
docker system df
# 清理未使用的数据
docker system prune

系统维护

# 清理所有未使用的对���
docker system prune -a
# 显示实时事件
docker system events
# 查看 Docker 磁盘使用详情
docker system df -v