Docker
约 1454 字大约 7 分钟
2025-12-03
一、容器管理
1. 查看容器
# 查看正在运行的容器
docker ps
# 查看所有容器(包括停止的)
docker ps -a
# 查看容器ID和名称
docker ps -aq2. 运行容器
# 运行一个交互式容器(进入容器终端)
docker run -it <镜像名称/ID> /bin/bash
# 运行一个后台容器,并指定名称
docker run -d --name <容器名称> <镜像名称/ID>
# 运行容器并映射端口(主机端口:容器端口)
docker run -p <主机端口>:<容器端口> <镜像名称/ID>
# 运行容器并挂载数据卷
docker run -v <主机路径>:<容器路径> <镜像名称/ID>
# 运行容器并设置环境变量
docker run -e <环境变量名>=<值> <镜像名称/ID>3. 进入容器
# 进入正在运行的容器(新终端)
docker exec -it <容器名称/ID> /bin/bash
# 进入正在运行的容器(使用容器默认命令)
docker attach <容器名称/ID>4. 启动/停止/重启容器
# 启动容器
docker start <容器名称/ID>
# 停止容器
docker stop <容器名称/ID>
# 重启容器
docker restart <容器名称/ID>
# 强制停止容器
docker kill <容器名称/ID>5. 删除容器
# 删除停止的容器
docker rm <容器名称/ID>
# 强制删除容器(包括运行中的)
docker rm -f <容器名称/ID>
# 删除所有停止的容器
docker container prune6. 容器日志
# 查看容器日志
docker logs <容器名称/ID>
# 实时查看容器日志
docker logs -f <容器名称/ID>
# 查看最新的N行日志
docker logs -n <行数> <容器名称/ID>
# 查看日志并显示时间戳
docker logs -t <容器名称/ID>7. 容器信息
# 查看容器详细信息
docker inspect <容器名称/ID>
# 查看容器内进程
docker top <容器名称/ID>
# 查看容器资源使用情况
docker stats <容器名称/ID>二、镜像管理
1. 查看镜像
# 查看本地所有镜像
docker images
# 查看镜像ID
docker images -q2. 拉取镜像
# 拉取最新版本镜像
docker pull <镜像名称>
# 拉取指定版本镜像
docker pull <镜像名称>:<标签>3. 构建镜像
# 使用当前目录的Dockerfile构建镜像
docker build -t <镜像名称>:<标签> .
# 使用指定目录的Dockerfile构建镜像
docker build -t <镜像名称>:<标签> <目录路径>
# 构建镜像时指定构建参数
docker build --build-arg <参数名>=<值> -t <镜像名称>:<标签> .4. 删除镜像
# 删除镜像
docker rmi <镜像名称/ID>
# 强制删除镜像
docker rmi -f <镜像名称/ID>
# 删除所有未使用的镜像
docker image prune
# 删除所有镜像
docker rmi -f $(docker images -q)5. 推送镜像
# 登录Docker Hub
docker login
# 给镜像打标签
docker tag <本地镜像名称/ID> <仓库名称>/<镜像名称>:<标签>
# 推送镜像到仓库
docker push <仓库名称>/<镜像名称>:<标签>三、网络管理
1. 查看网络
# 查看所有网络
docker network ls
# 查看网络详细信息
docker network inspect <网络名称/ID>2. 创建网络
# 创建Bridge网络
docker network create <网络名称>
# 创建Overlay网络(用于Swarm模式)
docker network create -d overlay <网络名称>
# 创建自定义Bridge网络并指定子网
docker network create --subnet=<子网> <网络名称>3. 连接/断开网络
# 将容器连接到网络
docker network connect <网络名称> <容器名称/ID>
# 将容器从网络断开
docker network disconnect <网络名称> <容器名称/ID>4. 删除网络
# 删除网络
docker network rm <网络名称/ID>
# 删除所有未使用的网络
docker network prune四、数据卷管理
1. 查看数据卷
# 查看所有数据卷
docker volume ls
# 查看数据卷详细信息
docker volume inspect <数据卷名称>2. 创建数据卷
# 创建数据卷
docker volume create <数据卷名称>3. 删除数据卷
# 删除数据卷
docker volume rm <数据卷名称>
# 删除所有未使用的数据卷
docker volume prune五、系统信息
# 查看Docker版本信息
docker version
# 查看Docker系统信息
docker info
# 查看Docker磁盘使用情况
docker system df
# 清理Docker系统(删除未使用的镜像、容器、网络和数据卷)
docker system prune六、Docker Compose
1. 基本命令
# 启动所有服务
docker-compose up
# 后台启动所有服务
docker-compose up -d
# 停止所有服务
docker-compose down
# 重启所有服务
docker-compose restart
# 查看服务状态
docker-compose ps2. 服务管理
# 启动指定服务
docker-compose up <服务名称>
# 停止指定服务
docker-compose stop <服务名称>
# 查看服务日志
docker-compose logs <服务名称>
# 实时查看服务日志
docker-compose logs -f <服务名称>七、其他常用命令
1. 复制文件
# 从容器复制文件到主机
docker cp <容器名称/ID>:<容器路径> <主机路径>
# 从主机复制文件到容器
docker cp <主机路径> <容器名称/ID>:<容器路径>2. 查看容器IP
# 查看容器IP地址
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <容器名称/ID>3. 查看容器端口映射
# 查看容器端口映射
docker port <容器名称/ID>八、命令缩写
Docker 命令支持缩写,以下是一些常用的缩写:
docker container可以缩写为docker containerdocker image可以缩写为docker imagedocker network可以缩写为docker networkdocker volume可以缩写为docker volume
例如:
docker container run等同于docker rundocker container ls等同于docker psdocker image ls等同于docker images
九、常用参数说明
-i: 交互式操作-t: 终端-d: 后台运行-p: 端口映射-v: 目录挂载-e: 设置环境变量--name: 指定容器名称--network: 指定网络--volume: 指定数据卷