- 确认 Linux 版本:
bash
cat /etc/redhat-release
我这里显示:Red Hat Enterprise Linux release 9.2 (Plow)
- 准备 docker 离线安装包:
bash
我这里是从阿里云开源镜像站 https://mirrors.aliyun.com/docker-ce/linux/static/stable/x86_64/ 提前下载好的 docker-24.0.7.tgz
- 解压离线安装包:
bash
tar -zxvf docker-24.0.7.tgz
- 将解压出来的 docker 文件夹下的全部内容复制到 /usr/bin 下:
bash
cp docker/* /usr/bin/
- 将 docker 注册为 service 服务:
5.1. 新建 docker.service 文件:
bash
touch /etc/systemd/system/docker.service
5.2. vim 编辑 /etc/systemd/system/docker.service 文件,输入如下内容:
bash
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
- 为文件 docker.service 添加可执行权限:
bash
chmod a+x /etc/systemd/system/docker.service
- 重新加载 systemd 配置:
bash
systemctl daemon-reload
- 启动 docker 服务:
bash
systemctl start docker
ps:这一步可能会失败,报如下错:
bash
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xeu docker.service" for details.
执行 systemctl status docker.service 和 journalctl -xeu docker.service 也看不出什么有用的根本信息,都是诸如 xxx start failed 之类的报错信息,百度也都是建议重装什么的,也没分析出实质性问题,其实手动执行文件 /etc/systemd/system/docker.service 中的 ExecStart 指向的命令,即 /usr/bin/dockerd,会看到根本性的错误,我这里就是说 "iptables not found",我查了资料说是红帽9不建议用 iptables 作为防火墙软件( 使用的是 firewall ),我咨询了公司的运维大牛,他说可以安装iptables,就当做普通的软件安装就行,安装完 iptables,docker 可以启动成功了( 安装步骤参见 redHat9 安装 iptables 过程记录 )
- 将 docker 服务设置为开机启动:
bash
systemctl enable docker
- 安装 docker-compose:https://objects.githubusercontent.com/docker-compose-Linux-x86_64
10.1. 下载 docker-compose 离线安装包:
bash
下载地址 https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-linux-x86_64
10.2. 将而进行文件 docker-compose-Linux-x86_64 移动到 /usr/bin/ 下并重命名为 docker-compose:
bash
mv docker-compose-Linux-x86_64 /usr/bin/docker-compose
10.3. 为 docker-compose 文件添加可执行权限:
bash
chmod +x /usr/bin/docker-compose
10.4. 查看 docker-compose 的版本已确定是否安装成功:
bash
docker-compose -v