如何管理centos上的docker容器
导读:一、CentOS上Docker容器管理的前置准备:安装Docker 在CentOS系统上管理Docker容器前,需先安装Docker引擎。以下是详细步骤: 更新系统并安装依赖:运行sudo yum update -y更新系统包,安装yum...
一、CentOS上Docker容器管理的前置准备:安装Docker
在CentOS系统上管理Docker容器前,需先安装Docker引擎。以下是详细步骤:
- 更新系统并安装依赖:运行
sudo yum update -y
更新系统包,安装yum-utils
、device-mapper-persistent-data
、lvm2
等必要工具(这些工具用于配置Docker仓库)。 - 添加Docker官方仓库:使用
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
命令添加Docker的CentOS专属仓库。 - 安装Docker CE:运行
sudo yum install docker-ce docker-ce-cli containerd.io
安装Docker社区版(CE)及核心组件。 - 启动Docker服务并设置开机自启:通过
sudo systemctl start docker
启动Docker服务,使用sudo systemctl enable docker
设置开机自动启动。 - 验证安装:运行
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简化管理:
- 安装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
赋予执行权限。 - 创建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
)。 - 启动多容器应用:在
docker-compose.yml
所在目录运行docker-compose up -d
,后台启动所有服务。 - 停止多容器应用:运行
docker-compose down
,停止并删除所有服务容器。
五、容器监控与管理工具
- 查看资源使用情况:使用
docker stats
命令,实时查看容器的CPU、内存、网络等资源占用(如docker stats my_nginx
)。 - 查看Docker守护进程日志:使用
sudo journalctl -u docker.service
命令,查看Docker服务的系统日志(用于排查Docker引擎问题)。
六、注意事项
- 数据安全:删除容器前,确保重要数据已备份或存储在卷中(卷数据不会随容器删除而丢失)。
- 容器依赖:删除容器前,检查是否有其他容器依赖于该容器(如数据库容器被应用容器依赖),避免影响服务。
- 镜像清理:定期使用
docker image prune
清理未使用的镜像(如悬空镜像),释放磁盘空间。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何管理centos上的docker容器
本文地址: https://pptw.com/jishu/720874.html