【Linux】CentOS 7.8 Docker + Docker Compose 安装

🐳 CentOS 7.8 Docker + Docker Compose 安装

1. 更换 YUM 源(推荐阿里云,提高速度)

复制代码
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
sudo yum clean all
sudo yum makecache

2. 安装依赖 & 配置 Docker 源

复制代码
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast

3. 安装 Docker CE

复制代码
sudo yum install -y docker-ce docker-ce-cli containerd.io

4. 配置 Docker daemon.json(镜像加速 + IPv4 + 可选日志)

复制代码
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json << 'EOF'
{
  "registry-mirrors": ["https://你的阿里云加速器地址"],
  "ipv6": false,
  "log-level": "warn"
}
EOF

⚠️ 替换 "https://你的阿里云加速器地址" 为你自己的加速器URL。 可以在阿里云-->容器镜像服务-->镜像工具-->镜像加速器中找到加速器地址


5. 配置 systemd 服务覆盖(可选代理 & 保证 IPv4-only)

/etc/systemd/system/docker.service.d/ 目录下的所有 .conf 文件都会被 systemd 作为 Docker 服务的覆盖配置加载,合并到原始服务文件中生效

复制代码
sudo mkdir -p /etc/systemd/system/docker.service.d

5.1 配置 HTTP/HTTPS 代理(需要科学上网或 VPN 时启用)

复制代码
sudo tee /etc/systemd/system/docker.service.d/proxy.conf << 'EOF'
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890"
Environment="HTTPS_PROXY=http://127.0.0.1:7890"
Environment="NO_PROXY=localhost,127.0.0.1"
EOF

5.2 仅启用 IPv4(防止 IPv6 导致拉镜像慢)

复制代码
sudo tee /etc/systemd/system/docker.service.d/ipv4-only.conf << 'EOF'
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --ipv6=false
EOF

⚠️ 因为 ipv6: false 已经在 daemon.json 设置,这里 ExecStart 直接留空或保留原启动即可,不需要重复 --ipv6=false


6. 启动 Docker 并开机自启

复制代码
sudo systemctl daemon-reload
sudo systemctl enable docker
sudo systemctl restart docker
sudo systemctl status docker

7. 验证 Docker 是否正常工作

复制代码
docker info
docker run hello-world

8. 安装 Docker Compose(v2.x 推荐)

复制代码
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

v2.x 也可以直接使用:

复制代码
docker compose version

注意:v2.x 的命令是 docker compose(空格),v1.x 才是 docker-compose


9. 使用 Docker Compose

创建 docker-compose.yml,然后启动服务:

复制代码
docker-compose up -d

✅ 优化说明

  1. 镜像加速:daemon.json 统一管理,拉取 Docker 镜像更快。
  2. IPv4-only:daemon.json 已禁用 IPv6,避免拉镜像慢。
  3. 代理 :仅在需要时配置 systemd proxy.conf
  4. 开机自启:systemctl enable docker + daemon-reload。
  5. 日志等级 :daemon.json 设置 "log-level": "warn",减少冗余日志。
相关推荐
小时候的阳光28 分钟前
Docker版Percona Xtrabackup全量压缩脚本
运维·docker·容器
生信大表哥1 小时前
单细胞测序分析(五)降维聚类&数据整合
linux·python·聚类·数信院生信服务器
“αβ”1 小时前
MySQL表的操作
linux·网络·数据库·c++·网络协议·mysql·https
神秘的土鸡2 小时前
openEuler 25.09 企业级 MySQL主从复制部署与性能优化实战提升50%
linux·数据库·mysql·性能优化·openeuler
知识分享小能手2 小时前
CentOS Stream 9入门学习教程,从入门到精通, CentOS Stream 9 命令行基础 —语法知识点与实战详解(4)
linux·学习·centos
烤鱼骑不快3 小时前
linux 软Raid
linux
Sinowintop3 小时前
EDI应用灵活扩展:拥抱容器化部署,赋能企业高效数据交换
docker·edi·容器化·扩展·数据交换·国产edi·弹性部署
hhwyqwqhhwy3 小时前
Linux file->private
linux·运维·服务器
WongKyunban4 小时前
在Linux下制作软件安装包
linux·运维·服务器
米花町的小侦探4 小时前
Harbor安装
docker·kubernetes