一、基础信息命令

# 查看版本
docker version

# 详细信息(镜像数、容器数、存储驱动、资源限制)
docker info

# 查看某条命令的帮助
docker <命令> --help
# 例:docker run --help

二、镜像 Image 命令

1. 搜索镜像

docker search [OPTIONS] 镜像名
  • --filter=stars=N:只显示收藏数 ≥ N
  • --no-trunc:显示完整描述

示例:

docker search --filter=stars=100 nginx

2. 拉取镜像

docker pull [OPTIONS] 镜像名[:标签]

-a:拉取所有标签版本

示例:

docker pull nginx
docker pull mysql:8.0

3. 查看本地镜像

docker images [OPTIONS] [仓库名]
  • -a:显示所有镜像(含中间层)
  • -q:只输出镜像 ID
  • --filter "dangling=true":只显示虚悬镜像(无标签)

示例:

docker images
docker images -q
docker images --filter "dangling=true"

4. 删除镜像

docker rmi [OPTIONS] 镜像ID/名

-f:强制删除

示例:

docker rmi nginx
docker rmi -f $(docker images -q)

5. 构建镜像(Dockerfile)

docker build [OPTIONS] 路径
  • -t 名称:标签:打标签
  • -f Dockerfile路径:指定非默认 Dockerfile
  • --no-cache:不使用缓存

示例:

docker build -t myapp:v1 .

6. 保存 / 加载镜像

docker save -o 文件名.tar 镜像名
docker load -i 文件名.tar

7. 容器提交为镜像

docker commit [OPTIONS] 容器ID 新镜像名:标签
  • -a:作者
  • -m:备注

示例:

docker commit -m "添加nginx配置" mynginx mynginx:v2

三、容器 Container 命令

1. 创建并启动容器 docker run(最重要)

docker run [选项] 镜像 [命令] [参数]

常用选项:

  • -d:后台运行(守护进程)
  • -it:交互式 + 伪终端(进入容器必备)
  • -p 宿主机端口:容器端口:端口映射
  • -P:随机映射所有暴露端口
  • --name 名称:指定容器名
  • -v 宿主机路径:容器路径:挂载目录 / 文件
  • -e KEY=VALUE:设置环境变量
  • --restart=always:Docker 启动时自动重启容器
  • --network 网络名:加入指定网络
  • --privileged:开启特权模式
  • -w 路径:指定工作目录
  • -u 用户:指定运行用户

示例:

# 后台 Nginx
docker run -d --name nginx -p 80:80 -v /opt/html:/usr/share/nginx/html nginx

# 交互式进入容器
docker run -it --rm centos /bin/bash
# --rm:退出后自动删除容器

2. 查看容器

docker ps [OPTIONS]
  • -a:显示所有容器(运行 + 停止)
  • -q:只显示容器 ID
  • -l:显示最近创建的容器
  • -f status=exited:过滤已停止容器

示例:

docker ps
docker ps -a
docker ps -aq

3. 容器启停

docker start 容器ID/名    # 启动
docker stop 容器ID/名     # 优雅停止
docker kill 容器ID/名     # 强制杀死
docker restart 容器ID/名  # 重启
docker pause 容器ID       # 暂停
docker unpause 容器ID     # 恢复

4. 进入运行中容器

docker exec [OPTIONS] 容器ID 命令

-it:交互式终端

示例:

docker exec -it nginx /bin/bash

5. 删除容器

docker rm [OPTIONS] 容器ID/名
  • f:强制删除运行中容器
  • -v:同时删除挂载的数据卷

示例:

docker rm nginx
docker rm -f $(docker ps -aq)

6. 查看容器日志

docker logs [OPTIONS] 容器ID
  • -f:实时跟踪
  • -t:显示时间戳
  • --tail N:只看最后 N 行

示例:

docker logs -f --tail 20 nginx

7. 查看容器详情 / 进程

docker inspect 容器ID    # 详细配置(IP、挂载、网络)
docker top 容器ID        # 容器内进程
docker stats 容器ID      # 实时资源占用(CPU/内存/IO)

8. 文件拷贝

# 宿主机 → 容器
docker cp 本地路径 容器ID:容器路径

# 容器 → 宿主机
docker cp 容器ID:容器路径 本地路径

四、数据卷 Volume

docker volume ls              # 列出
docker volume create 卷名     # 创建
docker volume inspect 卷名    # 详情
docker volume rm 卷名         # 删除
docker volume prune           # 清理无用卷

五、网络 Network

docker network ls                # 列出
docker network create 网络名     # 创建
docker network inspect 网络名    # 详情
docker network connect 网络名 容器  # 容器加入网络
docker network disconnect 网络名 容器 # 离开网络
docker network rm 网络名         # 删除
docker network prune            # 清理无用网络

六、Docker 系统清理

docker system df           # 查看磁盘占用
docker system prune        # 清理:停止容器、虚悬镜像、无用网络
docker system prune -a     # 彻底清理(删除所有未使用镜像)
docker system prune --volumes # 同时清理数据卷

七、镜像仓库(Docker Hub)

docker login              # 登录
docker logout             # 退出
docker tag 旧镜像 新镜像名:标签  # 重打标签
docker push 用户名/镜像名:标签   # 上传

八、Docker Compose 完整版

docker-compose up -d              # 后台启动
docker-compose down               # 停止并删除容器/网络
docker-compose down -v           # 同时删除数据卷
docker-compose ps                 # 查看状态
docker-compose logs -f            # 日志
docker-compose restart [服务名]    # 重启
docker-compose build              # 重新构建
docker-compose exec 服务名 命令     # 进入服务

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐