redHat9 安装 docker、docker-compose、iptables 过程记录

复制代码
  1. 确认 Linux 版本:
bash 复制代码
cat /etc/redhat-release
复制代码
我这里显示:Red Hat Enterprise Linux release 9.2 (Plow)
  1. 准备 docker 离线安装包:
bash 复制代码
我这里是从阿里云开源镜像站 https://mirrors.aliyun.com/docker-ce/linux/static/stable/x86_64/ 提前下载好的 docker-24.0.7.tgz
  1. 解压离线安装包:
bash 复制代码
tar -zxvf docker-24.0.7.tgz
  1. 将解压出来的 docker 文件夹下的全部内容复制到 /usr/bin 下:
bash 复制代码
cp docker/* /usr/bin/
  1. 将 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
  1. 为文件 docker.service 添加可执行权限:
bash 复制代码
chmod a+x /etc/systemd/system/docker.service
  1. 重新加载 systemd 配置:
bash 复制代码
systemctl daemon-reload
  1. 启动 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 过程记录  )
  1. 将 docker 服务设置为开机启动:
bash 复制代码
 systemctl enable docker
  1. 安装 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
相关推荐
新时代牛马5 分钟前
Linux 性能调优与追踪完整篇:ftrace、perf、eBPF从采样到落地验证
linux·运维·服务器
sunoo-22913 分钟前
【网络编程 + 数据库】select 与 epoll 核心区别详解 + SQLite 入门到 C 接口全攻略
linux·网络·数据库·vscode·学习·sqlite
zbyyd18 分钟前
Linux 系统编程 :select/epoll 多路复用与 SQLite 数据库实战
linux·数据库·sqlite
虎王物联25 分钟前
Docker BuildKit多阶段构建:IoT固件交叉编译流水线实战
运维·物联网·ci/cd·docker·容器·物联网嵌入式
Mortalbreeze26 分钟前
深入理解 Linux IO 模型(二):多路复用——select
linux·运维·服务器·网络·tcp/ip
LlmCraft|大模型工程实践32 分钟前
14. CI/CD 流水线中集成 Docker:GitHub Actions 自动构建部署
ci/cd·docker·github
koi77u38 分钟前
嵌入式学习———sqlite数据表
linux·数据库·学习·sqlite
笑梦无境41 分钟前
nginx安装(5)
linux·运维·nginx
xx~t43 分钟前
嵌入式——Linux软件编程——数据库
linux·c语言·数据库·oracle·sqlite
流浪0011 小时前
Linux系统篇26——通信(三)补:共享内存访问真的不进内核?
linux·运维·服务器