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