Skip to content

Docker 常用命令速查表——开发/部署时随手翻。基础概念见《Docker 核心概念与 Dockerfile 基础》。

一、镜像(Image)命令

bash
docker images                    # 列出本地镜像
docker pull nginx:1.27           # 拉取镜像(tag 默认 latest)
docker search mysql              # 搜索镜像
docker tag myapp:1.0 myapp:latest  # 打标签
docker rmi myapp:1.0             # 删除镜像(先删引用它的容器)
docker image prune               # 清理悬空镜像(<none>)

二、容器(Container)命令

bash
# 创建并运行
docker run -d -p 8080:8080 --name myapp myapp:1.0
#  -d 后台  -p 主机:容器端口映射  --name 起名

docker ps                        # 运行中的容器
docker ps -a                     # 所有容器(含已停止)

docker start myapp               # 启动已存在的容器
docker stop myapp                # 停止
docker restart myapp             # 重启

docker logs myapp                # 看日志
docker logs -f myapp             # 实时跟踪日志(像 tail -f)
docker logs --tail 100 myapp     # 只看最后 100 行

docker exec -it myapp bash       # 进容器内终端
docker cp myapp:/app/log.txt ./ # 从容器拷文件出来
docker rm myapp                  # 删除容器(先 stop)
docker rm -f myapp               # 强制删除(running 也能删)

docker inspect myapp             # 查看容器详情(IP/挂载/环境变量)
docker stats                     # 实时资源占用(CPU/内存)
docker top myapp                 # 容器内进程

三、网络(Network)

bash
docker network ls                # 列出网络
docker network create mynet      # 创建自定义网络
docker run -d --network mynet --name app1 myapp:1.0  # 容器加入网络
docker network connect mynet app2  # 容器连入已运行网络

为什么要自定义网络:默认 bridge 网络里,容器用 IP 互相访问(IP 会变);同一自定义网络下,容器可以用名字互相访问(服务发现)——Compose 里就是这么用的。

四、数据卷(Volume)

bash
docker volume ls                 # 列出卷
docker volume create mydata      # 创建卷
docker run -d -v mydata:/data --name db mysql:8.0  # 挂载卷到容器 /data

# 目录挂载(开发常用)
docker run -d -v /host/path:/app myapp:1.0

为什么要用卷:容器删除后数据丢失,数据放卷里(或宿主目录),容器随便删、数据不丢。

五、清理类

bash
docker container prune      # 删所有停止的容器
docker image prune          # 删悬空镜像
docker system df            # 看磁盘占用
docker system prune -a      # 一键清理(容器/镜像/网络/缓存)

六、容器生命周期速查图

docker pull nginx        docker run -d --name web nginx
     │                          │
  镜像仓库 ──► 本地镜像 ──► 容器(运行) ── docker stop ──► 容器(停止)

                          docker rm   │  docker start

                                  删除容器

小结

  • 镜像:images / pull / rmi / tag
  • 容器:run / ps / logs / exec / cp / rm(最常用就是这几个)
  • 网络:自定义网络下容器用名字互访(服务发现)
  • :数据放卷里,容器删了数据不丢
  • 清理:docker system prune -a 一键清理

下一篇可以看《Docker Compose 多容器编排》(一条命令起全套 MySQL+Redis+App)。