温馨提示×

如何管理centos上的docker容器

小樊
47
2025-09-30 12:25:30
栏目: 智能运维

一、CentOS上Docker容器管理的前置准备:安装Docker

在CentOS系统上管理Docker容器前,需先安装Docker引擎。以下是详细步骤:

  1. 更新系统并安装依赖:运行sudo yum update -y更新系统包,安装yum-utilsdevice-mapper-persistent-datalvm2等必要工具(这些工具用于配置Docker仓库)。
  2. 添加Docker官方仓库:使用sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo命令添加Docker的CentOS专属仓库。
  3. 安装Docker CE:运行sudo yum install docker-ce docker-ce-cli containerd.io安装Docker社区版(CE)及核心组件。
  4. 启动Docker服务并设置开机自启:通过sudo systemctl start docker启动Docker服务,使用sudo systemctl enable docker设置开机自动启动。
  5. 验证安装:运行sudo docker run hello-world测试Docker是否正常工作(若输出“Hello from Docker!”则表示安装成功)。

二、Docker容器基础管理操作

1. 查看容器状态

  • 查看所有容器(包括已停止的):使用docker ps -a命令,会列出所有容器的ID、名称、镜像、状态等信息。
  • 查看运行中的容器:使用docker ps命令,仅显示当前正在运行的容器。

2. 启动与停止容器

  • 启动容器
    • 若镜像已存在,可使用docker run命令创建并启动新容器(如docker run -d --name my_ubuntu ubuntu /bin/bash,其中-d表示后台运行,--name指定容器名称,ubuntu为镜像名)。
    • 若容器已创建但处于停止状态,使用docker start <容器ID或名称>启动(如docker start my_ubuntu)。
  • 停止容器
    • 优雅停止:使用docker stop <容器ID或名称>,会向容器发送SIGTERM信号,等待进程正常退出(默认超时10秒,超时后强制停止)。
    • 强制停止:使用docker kill <容器ID或名称>,立即发送SIGKILL信号终止容器(适用于无响应的容器)。

3. 删除容器

  • 删除单个停止的容器:使用docker rm <容器ID或名称>(如docker rm my_ubuntu),仅能删除已停止的容器。
  • 强制删除运行中的容器:使用docker rm -f <容器ID或名称>,强制终止并删除容器(可能导致数据丢失,慎用)。
  • 批量删除所有停止的容器:使用docker rm $(docker ps -a -q),通过docker ps -a -q获取所有停止容器的ID,批量删除以释放空间。

三、Docker容器高级管理操作

1. 进入运行中的容器

使用docker exec -it <容器ID或名称> /bin/bash命令,进入容器的交互式终端(-it分配伪终端,/bin/bash为容器内的shell)。

2. 查看容器日志

使用docker logs <容器ID或名称>命令,查看容器的输出日志(如docker logs my_nginx可查看Nginx容器的访问日志)。

3. 数据持久化(避免容器删除后数据丢失)

  • 挂载卷(Volume):使用docker run -v <宿主机路径>:<容器路径> <镜像名>命令,将宿主机目录挂载到容器内(如docker run -v /home/user/data:/data ubuntu/home/user/data为宿主机目录,/data为容器内目录)。
  • 绑定挂载(Bind Mount):与挂载卷类似,但需指定绝对路径,适用于需要精确控制数据位置的场景。

四、使用Docker Compose管理多容器应用

对于包含多个容器(如Web应用+数据库)的项目,推荐使用Docker Compose简化管理:

  1. 安装Docker Compose:运行sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose下载二进制文件,然后使用sudo chmod +x /usr/local/bin/docker-compose赋予执行权限。
  2. 创建docker-compose.yml文件:在项目目录下创建docker-compose.yml文件,定义服务(如Nginx、MySQL)的镜像、端口、环境变量等(示例:version: '3'; services: web: image: nginx:latest ports: - "80:80"; db: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: example)。
  3. 启动多容器应用:在docker-compose.yml所在目录运行docker-compose up -d,后台启动所有服务。
  4. 停止多容器应用:运行docker-compose down,停止并删除所有服务容器。

五、容器监控与管理工具

  • 查看资源使用情况:使用docker stats命令,实时查看容器的CPU、内存、网络等资源占用(如docker stats my_nginx)。
  • 查看Docker守护进程日志:使用sudo journalctl -u docker.service命令,查看Docker服务的系统日志(用于排查Docker引擎问题)。

六、注意事项

  • 数据安全:删除容器前,确保重要数据已备份或存储在卷中(卷数据不会随容器删除而丢失)。
  • 容器依赖:删除容器前,检查是否有其他容器依赖于该容器(如数据库容器被应用容器依赖),避免影响服务。
  • 镜像清理:定期使用docker image prune清理未使用的镜像(如悬空镜像),释放磁盘空间。

0