Docker 常用命令整理
镜像管理
拉取镜像
docker pull [镜像名]:[标签] # 例如:docker pull ubuntu:20.04
查看本地镜像
docker images
删除镜像
docker rmi [镜像ID或名称] # 删除单个镜像 docker rmi $(docker images -q) # 删除所有镜像(谨慎操作)
构建镜像
docker build -t [镜像名]:[标签] [Dockerfile路径] # 例如:docker build -t myapp:v1 .
容器操作
启动新容器
docker run [选项] [镜像名]
- 常用选项:
-d
:后台运行(守护模式)-p 宿主机端口:容器端口
:端口映射(例如-p 8080:80
)-v 宿主机路径:容器路径
:挂载数据卷(例如-v /data:/app/data
)-e 环境变量
:设置环境变量(例如-e MYSQL_ROOT_PASSWORD=123
)--name 容器名
:指定容器名称--network 网络名
:指定容器网络
- 常用选项:
查看容器
docker ps # 查看运行中的容器 docker ps -a # 查看所有容器(包括已停止的)
启动/停止/重启容器
docker start [容器ID或名称] docker stop [容器ID或名称] docker restart [容器ID或名称]
进入容器终端
docker exec -it [容器ID或名称] /bin/bash # 进入交互式终端
查看容器日志
docker logs [容器ID或名称] docker logs -f [容器ID或名称] # 实时跟踪日志
删除容器
docker rm [容器ID或名称] # 删除已停止的容器 docker rm -f [容器ID或名称] # 强制删除运行中的容器 docker container prune # 删除所有停止的容器
数据卷管理
创建数据卷
docker volume create [卷名]
查看数据卷
docker volume ls
删除数据卷
docker volume rm [卷名] docker volume prune # 删除未使用的数据卷
网络管理
查看网络列表
docker network ls
创建自定义网络
docker network create [网络名]
连接容器到网络
docker network connect [网络名] [容器ID或名称]
其他实用命令
查看容器资源占用
docker stats [容器ID或名称]
查看容器详细信息
docker inspect [容器ID或名称]
清理无用资源
docker system prune # 删除停止的容器、未使用的镜像和网络
Docker Compose 常用命令
启动服务
docker-compose up -d # 后台启动
停止服务
docker-compose down
查看服务状态
docker-compose ps
重新构建镜像并启动
docker-compose up --build
常用场景示例
运行一个 Nginx 容器并挂载网页目录
docker run -d --name my-nginx -p 80:80 -v /host/html:/usr/share/nginx/html nginx
进入 Redis 容器并执行命令
docker exec -it my-redis redis-cli