Luo San Dong LogsLuo San Dong Logs
主页
  • Go语言程序设计
  • .NET 程序设计语言
  • JavaScript程序设计
  • Python编程
  • Linux 基础
  • CentOS
  • Docker
  • Nginx
  • 核心的概念
关于我
主页
  • Go语言程序设计
  • .NET 程序设计语言
  • JavaScript程序设计
  • Python编程
  • Linux 基础
  • CentOS
  • Docker
  • Nginx
  • 核心的概念
关于我
  • CentOS

CentOS

安装 Docker(CentOS 7)

🚀 方式一:使用阿里云 Yum 源安装 Docker(推荐)

# 1. 移除旧版本(可选)
yum remove -y docker \
              docker-client \
              docker-client-latest \
              docker-common \
              docker-latest \
              docker-latest-logrotate \
              docker-logrotate \
              docker-engine

# 2. 添加阿里云 Docker CE Yum 源
yum-linux-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 3. 安装 Docker
yum install -y docker-ce docker-ce-cli containerd.io

# 4. 启动 Docker 并设置开机启动
systemctl start docker
systemctl enable docker

# 5. 验证安装
docker version

📦 方式二:使用清华源或中科大源安装 Docker

如果你更喜欢 TUNA 清华镜像,也可以使用:

# 使用清华源
curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

然后再执行安装:

yum makecache fast
yum install -y docker-ce docker-ce-cli containerd.io

⚙ 国内镜像加速配置(推荐)

Docker 安装好后,在 /etc/docker/daemon.json 中添加国内加速器:

mkdir -p /etc/docker

cat > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "https://mirror.baidubce.com",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}
EOF

# 重启 Docker
systemctl daemon-reexec
systemctl restart docker

Bash 中的“Here Document”语法,用于将一段多行内容写入文件。 在你提到的脚本中,<<EOF ... EOF 是在向 /etc/docker/daemon.json 写入一段 JSON 配置。

🧠 原理解释

这行代码:

cat > /etc/docker/daemon.json <<EOF
...(内容)
EOF

可以理解为:

把 EOF 到 EOF 之间的内容写入到 /etc/docker/daemon.json 文件中。

也就是你写了一个 daemon.json 配置文件,它的内容是:

{
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "https://mirror.baidubce.com",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}

✅ 输出结果示例(执行后生成的文件内容)

文件路径:/etc/docker/daemon.json

文件内容就是:

{
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "https://mirror.baidubce.com",
    "https://docker.mirrors.ustc.edu.cn"
  ]
}

🔎 为什么用 <<EOF 而不是 echo

虽然你可以使用 echo 多次输出,但写 JSON 或脚本文件时,使用 cat <<EOF 更加 清晰、简洁、安全,避免字符转义错误。

📌 小提示

  • EOF 只是一个标识符,可以换成任何你想要的(如 EOL、CONFIG 等):
cat <<CONFIG > linux.txt
hello
world
CONFIG

🐳 小结

操作是否替代官方
阿里云源✅ 完美替代
清华 TUNA 源✅ 完美替代
添加加速器✅ 推荐使用
继续搭建私有仓库✅ 不受影响