1. 首页 > 软件安装教程 > 正文

Docker安装-Docker 20.10 for RHEL 9安装配置及升级迁移详细过程

1. 硬件环境检查

在安装Docker之前,必须对服务器的硬件环境进行全面检查,确保满足Docker 20.10的最低要求。更多学习教程www.fgedu.net.cn

# 检查内存大小
# free -h
total used free shared buff/cache available
Mem: 16G 2.1G 12G 8.5M 1.8G 13G
Swap: 8G 0B 8G

# 检查磁盘空间
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 8G 0 8G 0% /dev
tmpfs 8G 0 8G 0% /dev/shm
tmpfs 8G 8.5M 8G 1% /run
tmpfs 8G 0 8G 0% /sys/fs/cgroup
/dev/sda1 50G 15G 36G 30% /
/dev/sdb1 200G 20G 180G 10% /data

# 检查CPU核心数
# nproc
8

# 检查系统架构
# uname -m
x86_64

生产环境建议:最小内存4GB(测试环境),生产环境建议8GB以上。磁盘空间:系统盘至少50GB,数据盘根据业务需求配置,建议至少100GB。CPU:测试环境至少2核心,生产环境建议4核心以上。

2. 操作系统检查

Docker 20.10支持RHEL 7.3+、RHEL 8.0+、RHEL 9.0+等操作系统。本文以RHEL 9为例。学习交流加群风哥微信: itpux-com

# 检查操作系统版本
# cat /etc/redhat-release
Red Hat Enterprise Linux release 9.0 (Plow)

# 检查内核版本
# uname -r
5.14.0-70.22.1.el9_0.x86_64

# 检查SELinux状态
# getenforce
Disabled

# 关闭SELinux(如未关闭)
# vi /etc/selinux/config
SELINUX=disabled

# 检查防火墙状态
# systemctl status firewalld

# 配置防火墙例外
sudo firewall-cmd –permanent –add-port=2375/tcp
sudo firewall-cmd –permanent –add-port=2376/tcp
sudo firewall-cmd –reload

3. 安装准备

在安装Docker之前,需要进行一系列准备工作,包括卸载旧版本Docker、安装依赖包、配置网络等。

# 卸载旧版本Docker
sudo dnf remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

# 安装Docker依赖包
sudo dnf install -y yum-utils device-mapper-persistent-data lvm2

# 添加Docker仓库
sudo yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 清理YUM缓存
sudo dnf clean all

风哥提示:Docker安装需要root权限,建议使用root账户进行安装。

4. Docker软件安装

现在开始安装Docker 20.10软件,按照以下步骤进行。

# 安装Docker CE
sudo dnf install -y docker-ce docker-ce-cli containerd.io

# 启动Docker服务
sudo systemctl start docker
sudo systemctl enable docker

# 验证Docker服务状态
sudo systemctl status docker
● docker.service – Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2026-03-31 10:00:00 CST; 1min ago
Docs: https://docs.docker.com
Process: 12345 ExecStart=/usr/bin/dockerd -H fd:// –containerd=/run/containerd/containerd.sock (code=exited, status=0/SUCCESS)
Main PID: 12346 (dockerd)
Tasks: 8
Memory: 36.2M
CGroup: /system.slice/docker.service
└─12346 /usr/bin/dockerd -H fd:// –containerd=/run/containerd/containerd.sock

Mar 31 10:00:00 fgedudb01 systemd[1]: Starting Docker Application Container Engine…
Mar 31 10:00:00 fgedudb01 dockerd[12345]: time=”2026-03-31T10:00:00+08:00″ level=info msg=”Starting up”
Mar 31 10:00:00 fgedudb01 systemd[1]: Started Docker Application Container Engine.

5. Docker配置

配置Docker服务,包括镜像加速、存储驱动、网络配置等。

# 配置Docker镜像加速
# 创建配置文件
sudo vi /etc/docker/daemon.json

# 添加以下内容
{
“registry-mirrors”: [“https://registry.docker-cn.com”, “https://docker.mirrors.ustc.edu.cn”],
“storage-driver”: “overlay2”,
“log-driver”: “json-file”,
“log-opts”: {
“max-size”: “10m”,
“max-file”: “3”
}
}

# 重启Docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker

# 验证配置
sudo docker info | grep Registry

6. 测试验证

验证Docker服务是否正常运行,包括运行测试容器和检查Docker版本。学习交流加群风哥QQ113257174

# 检查Docker版本
sudo docker –version
Docker version 20.10.24, build 297e128

# 运行测试容器
sudo docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the “hello-world” image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/

For more examples and ideas, visit:
https://docs.docker.com/get-started/

7. 备份配置

配置Docker备份策略,确保容器和镜像的安全。

# 创建备份目录
mkdir -p /backup/docker

# 备份Docker镜像
sudo docker save -o /backup/docker/docker_images.tar $(sudo docker images -q)

# 备份Docker容器
sudo docker export -o /backup/docker/docker_container.tar container_name

# 备份Docker卷
sudo cp -r /var/lib/docker/volumes /backup/docker/

# 验证备份文件
ls -la /backup/docker/
drwxr-xr-x 4 root root 4096 Mar 31 10:20 .
drwxr-xr-x 3 root root 4096 Mar 31 10:15 ..
drwxr-xr-x 3 root root 4096 Mar 31 10:20 volumes
-rw-r–r– 1 root root 123456789 Mar 31 10:20 docker_images.tar
-rw-r–r– 1 root root 12345678 Mar 31 10:20 docker_container.tar

# 配置自动备份
# 创建备份脚本
vi /root/backup_docker.sh

#!/bin/bash

DATE=$(date +%Y%m%d)
BACKUP_DIR=”/backup/docker”

# 创建备份目录(如果不存在)
mkdir -p $BACKUP_DIR

# 执行备份
sudo docker save -o $BACKUP_DIR/docker_images_$DATE.tar $(sudo docker images -q)
sudo cp -r /var/lib/docker/volumes $BACKUP_DIR/volumes_$DATE

# 保留最近7天的备份
find $BACKUP_DIR -name “docker_images_*.tar” -mtime +7 -delete
find $BACKUP_DIR -name “volumes_*” -mtime +7 -delete

# 给脚本添加执行权限
chmod +x /root/backup_docker.sh

# 添加到crontab
crontab -e

# 添加以下内容(每天凌晨2点执行备份)
0 2 * * * /root/backup_docker.sh

8. 升级迁移

Docker的升级和迁移过程。

# 升级Docker版本
# 1. 备份现有环境
sudo docker save -o /backup/docker/docker_images_before_upgrade.tar $(sudo docker images -q)
sudo cp -r /var/lib/docker/volumes /backup/docker/volumes_before_upgrade

# 2. 停止Docker服务
sudo systemctl stop docker

# 3. 升级Docker
sudo dnf update docker-ce docker-ce-cli containerd.io

# 4. 启动Docker服务
sudo systemctl start docker

# 5. 验证升级结果
sudo docker –version
Docker version 20.10.24, build 297e128

# 6. 运行测试容器
sudo docker run hello-world

# 从旧服务器迁移到新服务器

# 1. 在旧服务器上创建备份
sudo docker save -o /backup/docker/docker_images.tar $(sudo docker images -q)
sudo cp -r /var/lib/docker/volumes /backup/docker/

# 2. 将备份文件复制到新服务器
scp -r /backup/docker root@new-server:/backup/

# 3. 在新服务器上安装Docker
# 按照安装步骤在新服务器上安装Docker

# 4. 导入Docker数据
sudo docker load -i /backup/docker/docker_images.tar
sudo cp -r /backup/docker/volumes /var/lib/docker/

# 5. 启动Docker服务
sudo systemctl start docker

# 6. 验证迁移结果
sudo docker –version
sudo docker images

风哥提示:Docker升级和迁移前,建议先在测试环境进行演练,确保升级过程顺利。同时,备份所有重要容器和镜像,以防万一。

9. 总结

本文详细介绍了Docker 20.10 for RHEL 9的安装、配置、升级和迁移过程。通过按照本文的步骤操作,可以成功部署Docker容器平台并确保其稳定运行。from:www.itpux.com

生产环境建议:
– 定期备份Docker镜像和容器,建议每天执行一次全备份
– 监控Docker性能,定期检查Docker日志和错误信息
– 定期更新Docker版本,确保系统安全性和性能
– 合理规划Docker存储,避免空间不足
– 配置合适的镜像加速源,优化镜像拉取速度
– 对于生产环境,建议部署Docker Swarm或Kubernetes集群,提高可用性和可靠性

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息