CentOS7.5下安装Docker和Docker-Compose,并支持host-gateway特性

需要注意,这里介绍的是安装Docker 20.10+和 Docker Compose V2.26.0+版本,以解决低版本不支持 host-gateway 特性的问题。不支持 host-gateway 特性的表现示例如下:

log 复制代码
Stopping containers...
failed to create docker container: Error response from daemon: invalid IP address in add-host: "host-gateway"
Try rerunning the command with --debug to troubleshoot the error.

1. 备份当前 Docker(如果从未安装请直接跳过)

bash 复制代码
# 1. 停止 Docker 服务
systemctl stop docker

# 2. 备份当前二进制文件(可选)
mkdir -p /opt/docker-backup
cp /usr/bin/docker /usr/bin/docker-compose /opt/docker-backup/ 2>/dev/null || true

# 3. 备份旧的 Docker 配置文件
cp -r /etc/docker /etc/docker.backup 2>/dev/null || true

2. 安装Docker和Docker Compose

bash 复制代码
# 1. 安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2

# 2. 添加 Docker CE 官方仓库
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 3. 查看可用的 Docker 版本
yum list docker-ce --showduplicates | sort -r | head -20

# 4. 安装 Docker 20.10.x(兼容性较好)
yum install -y docker-ce-20.10.23 docker-ce-cli-20.10.23 containerd.io

# 5. 安装 Docker Compose V2(独立安装)
DOCKER_COMPOSE_VERSION="v2.26.0"
curl -SL "https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -sf /usr/local/bin/docker-compose /usr/bin/docker-compose

3. 配置和启动

bash 复制代码
# 1. 配置 Docker(如果需要)
cat > /etc/docker/daemon.json << EOF
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF

# 2. 启动 Docker
systemctl daemon-reload
systemctl start docker
systemctl enable docker

# 3. 验证安装
docker --version
docker-compose --version
相关推荐
岁月宁静14 小时前
一个 AI 项目从本地到上线,要经过哪些步骤?全流程讲清楚
python·docker·agent
正经教主19 小时前
【FDE系列】阶段2:Day 42(UP详细版):Dockerfile 实战 — 把你的应用打包成镜像
人工智能·docker·fde
刘马想放假19 小时前
Copyparty 轻量文件共享:Docker Compose 部署、权限与多协议使用全指南
docker·容器
岁寒良木1 天前
麒麟 V10 (x86_64) 离线/联网部署 Docker 26.1.4 与 MaxKB v2.10 LTS 实战指南
python·docker·kylin
正经教主1 天前
【FDE系列】阶段2:Day 43(UP详细版):Docker Compose — 多容器一键编排
运维·docker·容器
csdn_aspnet1 天前
构建、运行与管理容器的 18 个常用 Docker 命令
docker·容器·eureka·command
木雷坞1 天前
AnythingLLM Docker部署:中文资料上传后无引用的检查路径
运维·docker·容器
maochongsandai1101 天前
Centos上运行docker应用命令汇总
linux·docker·centos
艾伦_耶格宇1 天前
【kubernetes - 1.28版本】-4 containerd与docker-ce 的区别
docker·容器·kubernetes
正经教主1 天前
【FDE系列】阶段2:Day 45(up详细版):综合实战 — Docker + Nginx + Git 完整部署与本周收官
人工智能·git·nginx·docker·fde