运维Docker命令
运维Docker命令
ZhangCurry运维Docker命令
Docker 常用命令的整理,按照功能分类:
一、容器管理
- 运行容器
1 | docker run [OPTIONS] IMAGE [COMMAND] |
- 常用选项:
-d:后台运行(守护模式)-it:交互式终端(通常与bash结合使用)--name:指定容器名称-p:端口映射(主机端口:容器端口)-v:挂载数据卷(主机目录:容器目录)--rm:容器退出后自动删除-e:设置环境变量
- 示例:
1 | docker run -d --name my_nginx -p 80:80 nginx |
- 列出容器
1 | docker ps # 查看运行中的容器 |
- 启动/停止/重启容器
1 | docker start 容器名/ID |
- 进入容器
1 | docker exec -it 容器名/ID /bin/bash # 进入运行中的容器 |
- 删除容器
1 | docker rm 容器名/ID # 删除已停止的容器 |
- 查看容器日志
1 | docker logs 容器名/ID # 查看日志 |
- 查看容器信息
1 | docker inspect 容器名/ID # 查看详细配置 |
二、镜像管理
- 拉取镜像
1 | docker pull 镜像名:标签 # 例如:docker pull ubuntu:20.04 |
- 列出镜像
1 | docker images |
- 删除镜像
1 | docker rmi 镜像名/ID |
- 构建镜像
1 | docker build -t 镜像名:标签 Dockerfile路径 |
- 示例:
1 | docker build -t my_app:1.0 . |
- 导出/导入镜像
1 | docker save -o 文件名.tar 镜像名 # 导出镜像 |
- 查看镜像历史
1 | docker history 镜像名 |
三、网络管理
- 列出网络
1 | docker network ls |
- 创建网络
1 | docker network create 网络名 |
- 连接容器到网络
1 | docker network connect 网络名 容器名 |
- 断开网络
1 | docker network disconnect 网络名 容器名 |
- 查看网络详情
1 | docker network inspect 网络名 |
四、数据卷管理
- 创建数据卷
1 | docker volume create 卷名 |
- 列出数据卷
1 | docker volume ls |
- 删除数据卷
1 | docker volume rm 卷名 |
- 查看数据卷详情
1 | docker volume inspect 卷名 |
五、Docker Compose 常用命令
- 启动服务
1 | docker-compose up -d # 后台启动 |
- 停止服务
1 | docker-compose down |
- 查看服务状态
1 | docker-compose ps |
- 查看日志
1 | docker-compose logs -f |
- 重建服务
1 | docker-compose up --build |
六、系统管理
- 查看 Docker 信息
1 | docker info |
- 清理无用资源
1 | docker system prune -a # 清理所有未使用的镜像、容器、网络、数据卷 |
- 查看磁盘使用情况
1 | docker system df |
七、其他实用命令
- 从容器复制文件到主机
1 | docker cp 容器名:容器内路径 主机路径 |
- 从主机复制文件到容器
1 | docker cp 主机路径 容器名:容器内路径 |
- 查看 Docker 事件
1 | docker events |
常用场景示例
- 运行 MySQL 容器
1 | docker run -d --name mysql_db -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:8.0 |
- 运行 Redis 容器
1 | docker run -d --name redis_cache -p 6379:6379 redis |
- 备份 MySQL 数据
1 | docker exec mysql_db mysqldump -u root -p123456 数据库名 > backup.sql |



