index

Docker 常用命令

一、容器生命周期管理(最常用)

命令说明示例
docker run创建并启动容器docker run -d --name nginx -p 80:80 nginx
docker start/stop/restart启动/停止/重启容器docker stop calibre-web
docker pause/unpause暂停/恢复容器进程docker pause <容器名>
docker rm删除容器(需先停止)docker rm -f <容器名>(强制删除)
docker exec进入容器执行命令docker exec -it <容器名> /bin/bash
docker rename重命名容器docker rename old_name new_name

二、容器状态查看

命令说明示例
docker ps查看运行中的容器docker ps -a(查看所有容器)
docker stats查看容器资源占用(实时)docker stats --no-stream(查看一次)
docker logs查看容器日志docker logs -f <容器名>(实时跟踪)
docker inspect查看容器详细信息(JSON)docker inspect <容器名> | grep IPAddress
docker top查看容器内运行的进程docker top <容器名>
docker port查看容器端口映射docker port <容器名>

三、镜像管理

命令说明示例
docker images列出本地镜像docker images -a(列出所有)
docker pull拉取镜像docker pull ubuntu:22.04
docker build从 Dockerfile 构建镜像docker build -t myapp:v1 .
docker push推送镜像到仓库docker push myusername/myapp:v1
docker rmi删除镜像docker rmi -f <镜像ID>(强制删除)
docker tag给镜像打标签docker tag ubuntu:22.04 myrepo/ubuntu:latest
docker save/load导出/导入镜像为 tar 文件docker save -o myimage.tar myapp:v1
docker load -i myimage.tar

四、数据卷管理(Volume)

命令说明示例
docker volume ls列出所有数据卷docker volume ls
docker volume create创建数据卷docker volume create mydata
docker volume inspect查看数据卷详情docker volume inspect talebook_data
docker volume prune删除未使用的数据卷docker volume prune -f
docker volume rm删除指定数据卷docker volume rm mydata

五、网络管理

命令说明示例
docker network ls列出所有网络docker network ls
docker network create创建自定义网络docker network create mynet --driver bridge
docker network inspect查看网络详情docker network inspect bridge
docker network connect将容器连接到网络docker network connect mynet <容器名>
docker network disconnect断开容器与网络连接docker network disconnect mynet <容器名>
docker network prune删除未使用的网络docker network prune -f

六、资源清理(释放磁盘空间)

命令说明示例
docker system df查看 Docker 磁盘使用情况docker system df -v(详细)
docker system prune清理停止的容器、未使用的网络、悬空镜像docker system prune -a -f(激进清理)
docker container prune删除所有停止的容器docker container prune -f
docker image prune删除未使用的镜像docker image prune -a -f
docker builder prune清理构建缓存docker builder prune -f

七、Docker Compose 命令(项目级管理)

命令说明示例
docker-compose up启动服务docker-compose up -d(后台运行)
docker-compose down停止并删除容器docker-compose down -v(同时删除数据卷)
docker-compose ps查看项目容器状态docker-compose ps
docker-compose logs查看项目日志docker-compose logs -f talebook
docker-compose restart重启服务docker-compose restart
docker-compose pull拉取最新镜像docker-compose pull
docker-compose exec进入某个容器docker-compose exec talebook /bin/bash
docker-compose config验证 compose 文件语法docker-compose config
docker-compose build重新构建镜像docker-compose build --no-cache

八、常用技巧和最佳实践

1. 快速删除所有容器(慎用!)

docker rm -f $(docker ps -aq)

2. 删除所有镜像(慎用!)

docker rmi -f $(docker images -q)

3. 进入容器调试

docker exec -it <容器> sh   # 如果 bash 不可用
docker exec -it <容器> /bin/bash

4. 查看容器 IP 地址

docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <容器>

5. 实时查看容器日志并过滤

docker logs -f <容器> | grep ERROR

6. 复制文件进/出容器

docker cp <容器>:/path/to/file /host/path   # 容器 → 宿主机
docker cp /host/file <容器>:/path/to/file   # 宿主机 → 容器

7. 查看容器环境变量

docker exec <容器> env

8. 批量操作(组合命令)

# 停止所有运行中的容器
docker stop $(docker ps -q)

# 删除所有停止的容器
docker container prune -f

九、命令速查图(记忆口诀)

操作对象创建查看删除进入/详情
容器runpsrmexec / inspect
镜像build / pullimagesrmihistory / inspect
volume createvolume lsvolume rmvolume inspect
网络network createnetwork lsnetwork rmnetwork inspect

友链

冬月
冬月

分享自己的一些学习心得和生活琐事