运维Docker命令

运维Docker命令

Docker 常用命令的整理,按照功能分类:

一、容器管理

  1. 运行容器
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. 列出容器
1
2
3
docker ps           # 查看运行中的容器
docker ps -a # 查看所有容器(包括已停止的)
docker ps -q # 只显示容器ID
  1. 启动/停止/重启容器
1
2
3
4
docker start 容器名/ID
docker stop 容器名/ID # 优雅停止
docker kill 容器名/ID # 强制停止
docker restart 容器名/ID
  1. 进入容器
1
2
docker exec -it 容器名/ID /bin/bash   # 进入运行中的容器
docker attach 容器名/ID # 直接附加到主进程(退出可能导致容器停止)
  1. 删除容器
1
2
3
docker rm 容器名/ID          # 删除已停止的容器
docker rm -f 容器名/ID # 强制删除运行中的容器
docker container prune # 删除所有已停止的容器
  1. 查看容器日志
1
2
docker logs 容器名/ID        # 查看日志
docker logs -f 容器名/ID # 实时跟踪日志
  1. 查看容器信息
1
2
3
docker inspect 容器名/ID     # 查看详细配置
docker stats # 查看资源占用(CPU/内存/网络)
docker top 容器名/ID # 查看容器内进程

二、镜像管理

  1. 拉取镜像
1
docker pull 镜像名:标签       # 例如:docker pull ubuntu:20.04
  1. 列出镜像
1
2
docker images
docker image ls
  1. 删除镜像
1
2
docker rmi 镜像名/ID
docker image prune -a # 删除所有未被使用的镜像
  1. 构建镜像
1
docker build -t 镜像名:标签 Dockerfile路径
  • 示例:
1
docker build -t my_app:1.0 .
  1. 导出/导入镜像
1
2
docker save -o 文件名.tar 镜像名    # 导出镜像
docker load -i 文件名.tar # 导入镜像
  1. 查看镜像历史
1
docker history 镜像名

三、网络管理

  1. 列出网络
1
docker network ls
  1. 创建网络
1
docker network create 网络名
  1. 连接容器到网络
1
docker network connect 网络名 容器名
  1. 断开网络
1
docker network disconnect 网络名 容器名
  1. 查看网络详情
1
docker network inspect 网络名

四、数据卷管理

  1. 创建数据卷
1
docker volume create 卷名
  1. 列出数据卷
1
docker volume ls
  1. 删除数据卷
1
2
docker volume rm 卷名
docker volume prune # 删除所有未使用的数据卷
  1. 查看数据卷详情
1
docker volume inspect 卷名

五、Docker Compose 常用命令

  1. 启动服务
1
docker-compose up -d      # 后台启动
  1. 停止服务
1
docker-compose down
  1. 查看服务状态
1
docker-compose ps
  1. 查看日志
1
docker-compose logs -f
  1. 重建服务
1
docker-compose up --build

六、系统管理

  1. 查看 Docker 信息
1
2
docker info
docker version
  1. 清理无用资源
1
docker system prune -a      # 清理所有未使用的镜像、容器、网络、数据卷
  1. 查看磁盘使用情况
1
docker system df

七、其他实用命令

  1. 从容器复制文件到主机
1
docker cp 容器名:容器内路径 主机路径
  1. 从主机复制文件到容器
1
docker cp 主机路径 容器名:容器内路径
  1. 查看 Docker 事件
1
docker events

常用场景示例

  1. 运行 MySQL 容器
1
docker run -d --name mysql_db -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:8.0
  1. 运行 Redis 容器
1
docker run -d --name redis_cache -p 6379:6379 redis
  1. 备份 MySQL 数据
1
docker exec mysql_db mysqldump -u root -p123456 数据库名 > backup.sql