在阿里云私网服务器(无公网IP)上安装 Docker 环境的完整指南
文章目录
- @[toc]
- 🐳 在阿里云私网服务器(无公网IP)上安装 Docker 环境的完整指南
- 📌 背景与挑战
- ✅ 前提条件
- 🚀 解决方案概览
- 🛠️ 安装步骤
- 第一步:登录私网服务器
- 方式 1:SSH 跳板机(Bastion Host)
- 方式 2:阿里云 Web Terminal(推荐用于初始配置)
- 第二步:配置阿里云 VPC 内网 YUM 源
- 第三步:添加 Docker CE 内网源(关键步骤)
- 第四步:安装 Docker 及 Compose 插件
- 第五步:启动并启用 Docker 服务
- 第六步:配置 Docker 内网镜像加速
- ✅ 验证安装
- 🧩 常见问题与解决方案
- 💡 最佳实践建议
- 📚 总结
- 📎 参考链接
文章目录
- @[toc]
- 🐳 在阿里云私网服务器(无公网IP)上安装 Docker 环境的完整指南
- 📌 背景与挑战
- ✅ 前提条件
- 🚀 解决方案概览
- 🛠️ 安装步骤
- 第一步:登录私网服务器
- 方式 1:SSH 跳板机(Bastion Host)
- 方式 2:阿里云 Web Terminal(推荐用于初始配置)
- 第二步:配置阿里云 VPC 内网 YUM 源
- 第三步:添加 Docker CE 内网源(关键步骤)
- 第四步:安装 Docker 及 Compose 插件
- 第五步:启动并启用 Docker 服务
- 第六步:配置 Docker 内网镜像加速
- ✅ 验证安装
- 🧩 常见问题与解决方案
- 💡 最佳实践建议
- 📚 总结
- 📎 参考链接
🐳 在阿里云私网服务器(无公网IP)上安装 Docker 环境的完整指南
适用场景:ECS 实例位于 VPC 内,无公网 IP,无法直接访问外网,但仍需部署 Docker 环境。
核心思路:利用阿里云 VPC 内网镜像源,无需 SNAT/NAT 网关,安全高效完成安装。
📌 背景与挑战
在企业级云架构中,出于安全考虑,许多后端服务部署在**私有网络(Private Network)**中,不分配公网 IP。这类服务器无法直接访问互联网,导致常规的 yum install
或 docker pull
操作失败。
然而,Docker 作为现代应用部署的核心工具,即使在私网环境中也必不可少。本文将手把手教你如何在 阿里云无公网 IP 的 ECS 实例上,顺利安装 Docker 及其相关组件(包括 docker-compose-plugin
),并配置内网镜像加速。
✅ 前提条件
- 一台阿里云 ECS 实例,位于 VPC 内,无公网 IP
- 与跳板机或 Web Terminal 可连接(用于登录)
- 操作系统:CentOS 7 / Alibaba Cloud Linux 2 / 其他基于 RHEL 的系统
- 所在 VPC 与阿里云镜像服务同地域(如
cn-beijing
)
🚀 解决方案概览
我们不依赖公网访问,而是使用阿里云提供的 VPC 内网镜像源:
服务 | 公网地址 | ✅ 推荐内网地址 |
---|---|---|
YUM 源 | mirrors.aliyun.com | mirrors.cloud.aliyuncs.com |
Docker CE 源 | download.docker.com | mirrors.cloud.aliyuncs.com/docker-ce |
容器镜像服务 ACR | registry.cn-*.aliyuncs.com | registry-vpc.cn-*.aliyuncs.com |
🔐 所有操作均通过内网完成,安全、快速、无需额外网络配置。
🛠️ 安装步骤
第一步:登录私网服务器
你可以通过以下任一方式登录:
方式 1:SSH 跳板机(Bastion Host)
ssh -J root@<跳板机公网IP> root@<私网服务器内网IP>
方式 2:阿里云 Web Terminal(推荐用于初始配置)
- 登录 ECS 控制台
- 找到目标实例 → 点击 “远程连接” → 使用 VNC 或 Web Terminal
第二步:配置阿里云 VPC 内网 YUM 源
# 备份原 repo(可选)
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak# 下载阿里云 VPC 内网 YUM 源
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.aliyuncs.com/repo/Centos-7.repo# 清除缓存
sudo yum clean all
sudo yum makecache
🔁 如果是 CentOS 8,请使用
Centos-8.repo
第三步:添加 Docker CE 内网源(关键步骤)
由于 mirrors.aliyun.com
的 HTTPS 证书在私网环境下可能引发校验失败,我们使用 HTTP 协议 + 关闭 GPG 校验(在阿里云可信环境中安全)。
sudo tee /etc/yum.repos.d/docker-ce.repo <<-'EOF'
[docker-ce-stable]
name=Docker CE Stable - x86_64
baseurl=http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/7/x86_64/stable
enabled=1
gpgcheck=0
EOF
✅ 说明:
baseurl
使用 HTTP 内网地址gpgcheck=0
:关闭 GPG 校验(VPC 内安全)- 如为 CentOS 8,将
7
改为8
第四步:安装 Docker 及 Compose 插件
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
✅ 该命令将自动从阿里云内网源下载并安装最新稳定版 Docker。
第五步:启动并启用 Docker 服务
sudo systemctl start docker
sudo systemctl enable docker
第六步:配置 Docker 内网镜像加速
使用阿里云容器镜像服务(ACR)的 VPC 内网地址,加速镜像拉取。
sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://registry-vpc.cn-beijing.aliyuncs.com"]
}
EOF
🔁 替换
cn-beijing
为你的实际地域(如cn-hangzhou
、cn-shanghai
)
重启 Docker 生效:
sudo systemctl daemon-reload
sudo systemctl restart docker
✅ 验证安装
# 查看版本
docker --version
docker-compose --version# 运行测试容器
docker run --rm hello-world
如果看到 Hello from Docker!
,恭喜你,Docker 环境已成功部署!
🧩 常见问题与解决方案
问题 | 原因 | 解决方案 |
---|---|---|
Could not fetch repo: No route to host | 使用了公网镜像源 | 改用 mirrors.cloud.aliyuncs.com |
GPG key retrieval failed | HTTPS 证书不匹配 | 使用 HTTP + gpgcheck=0 |
docker pull 失败 | 未配置镜像加速 | 配置 registry-vpc 内网加速 |
DNS 解析失败 | 缺少内网 DNS | 添加 100.100.2.136 到 /etc/resolv.conf |
💡 最佳实践建议
- 安全第一:私网服务器尽量不暴露公网 IP,使用跳板机或堡垒机管理。
- 使用 ACR:将镜像推送到阿里云容器镜像服务(ACR),通过
registry-vpc
内网拉取,更快更安全。 - 自动化部署:结合 Terraform 或 Ansible,批量部署私网 Docker 环境。
- 日志监控:配置日志服务(SLS)采集 Docker 容器日志。
📚 总结
在阿里云私网环境中安装 Docker,无需公网 IP,无需 SNAT 网关,只需正确使用阿里云提供的 VPC 内网镜像源:
mirrors.cloud.aliyuncs.com
:YUM 和 Docker 源registry-vpc.cn-*.aliyuncs.com
:镜像加速
通过本文的步骤,你可以在任何私网 ECS 实例上快速部署 Docker 环境,为微服务、CI/CD、容器化应用打下坚实基础。
📎 参考链接
- 阿里云镜像站
- 容器镜像服务 ACR
- Docker 官方文档
作者:刘一说
发布日期:2025年9月18日
版权声明:本文首发于个人博客,转载请注明出处。