Files
Sean 0dbebc1a45 新增一键脚本备用地址
新增一键脚本备用地址
2026-08-22 20:22:38 +08:00

140 lines
4.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Linux 系统 Docker 镜像源配置教程
> 在线版:https://xuanyuan.cloud/usage/linux
在 Linux 系统上配置轩辕镜像源,让所有 Docker 操作都享受优化访问体验
## 目录
- [获取专属域名](#获取专属域名)
- [配置 Docker daemon](#配置-docker-daemon)
- [重新加载 daemon](#重新加载-daemon)
- [重启 Docker 服务](#重启-docker-服务)
- [验证配置](#验证配置)
- [镜像下载步骤](#镜像下载步骤)
- [配置说明](#配置说明)
## 获取专属域名
登录网站后,在左侧菜单栏的「专属域名」菜单中获取您的专属域名,格式为:`***.xuanyuan.run`
> **注意**:请将 ***.xuanyuan.run** 替换为您的专属域名。[登录](https://xuanyuan.cloud/dashboard?next=%2Fusage%2Flinux)网站后,点击左侧菜单栏的「专属域名」菜单即可获取。
## 配置 Docker daemon
### 推荐方案:一键安装配置脚本
该脚本支持多种 Linux 发行版,支持一键安装 docker、docker-compose 并且一键配置轩辕镜像源。
```bash
bash <(wget -qO- https://xuanyuan.cloud/docker.sh)
# 备用地址1
bash <(wget -qO- https://get.xuanyuan.dev/docker.sh)
# 备用地址2
bash <(wget -qO- https://get.xuanyuan.me/docker.sh)
```
或者手动使用以下命令配置 Docker daemon 文件:
```bash
echo '{
"insecure-registries": ["***.xuanyuan.run"],
"registry-mirrors": ["https://***.xuanyuan.run"]
}' | sudo tee /etc/docker/daemon.json > /dev/null
```
此命令会将镜像源配置写入 `/etc/docker/daemon.json` 文件
> ⚠️ 请将 ***.xuanyuan.run** 替换为您的专属域名。[登录](https://xuanyuan.cloud/dashboard?next=%2Fusage%2Flinux)网站后,点击左侧菜单栏的「专属域名」菜单即可获取。
> ⚠️ **注意:**daemon.json 配置的镜像仅对 docker.io 生效,其他仓库镜像需要显式指定地址拉取。
>
> `registry-mirrors` 只作用于 docker.io(Docker Hub 官方仓库)。
>
> 对于其他 Registry(如 `ghcr.io`、`quay.io`、`gcr.io` 等),Docker 客户端不会去查 registry-mirrors,而是直接请求这些域名。
>
> **正确的方法是指定地址显式拉取:**
>
> `docker pull ***-ghcr.xuanyuan.run/org/image:tag`
>
> `docker pull ***-quay.xuanyuan.run/coreos/etcd:latest`
## 重新加载 daemon
重新加载 systemd daemon 配置:
```bash
systemctl daemon-reload
```
## 重启 Docker 服务
重启 Docker 服务使配置生效:
```bash
systemctl restart docker
```
> 💡 重启后,Docker 将使用新的镜像源配置
## 验证配置
验证配置是否生效:
```bash
docker info | grep -A 10 "Registry Mirrors"
```
如果配置成功,您应该能看到您的轩辕镜像地址
## 镜像下载步骤
配置完成后,您可以直接使用标准的 Docker 命令拉取镜像:
```bash
docker pull mysql:latest
```
> ⚠️ **PS:** 不加 TAG 默认为 latest,建议指定具体的 TAG 版本进行下载。
## 配置说明
### 为什么配置了 Docker Registry Mirrors 仍然走官方源?
很多用户反馈,已经在 Docker 中配置了镜像源(registry-mirrors),但拉取镜像时仍然访问官方源(docker.io)。
**拉取报错如下:**
```
Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client. Timeout exceeded while awaiting headers)
```
这是因为 Docker 的镜像拉取机制是优先尝试使用镜像源,而不是强制始终使用。部分镜像的 tag 或 namespace 特殊(如 docker-library),可能仍绕过镜像源。
#### 常见原因
**专属域名没有可用流量**
如果你使用专属域名,但该地址没有充值流量,当 Docker 客户端请求镜像源时,服务端会返回 402 Payment Required 错误,Docker 就会直接回退到官方仓库 docker.io 拉取镜像。
**解决方案:** 请前往[充值页面](https://xuanyuan.cloud/recharge)充值相应的流量包,确保您的专属域名有足够的流量支持镜像服务。
#### 如何确认专属域名可用
建议先用下列方式测试:
```bash
docker pull ***.xuanyuan.run/mysql
```
如果能正常拉取,说明专属域名可用且有流量。
#### 解决方法
如果配置后仍然不生效,建议参考下列文档拉取镜像:
- [专属域名方式配置教程](https://xuanyuan.cloud/usage/nologin)
- [登录方式配置教程](https://xuanyuan.cloud/usage/login)