Docker群晖docker查询注册表失败
解决群晖NAS UI(或SSH中)的docker pull错误(无法拉取, 注册表错误)
有什么用
error pulling image configuration: Get "https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/...
dial tcp 128.242.250.148:443: i/o timeout
该方法适用于:
怎么用
群晖 7.1 和 7.1.1,没有 ContainerManager ,Mac 上开 clash 允许 Lan 访问,配置下代理:
目录:/usr/local/lib/systemd/system
vim pkg-Docker-dockerd.service
[Service]
Environment="HTTP_PROXY=http://192.168.1.10:7890"
Environment="HTTPS_PROXY=http://192.168.1.10:7890"
Environment="NO_PROXY=localhost,127.0.0.1"
(请根据自己情况,适当修改这个文件内容)
systemctl daemon-reload
systemctl restart pkg-Docker-dockerd
测试成功,测试过程如下:
root@DS918:/usr/local/lib/systemd/system# docker pull ryjer/opentracker
Using default tag: latest
latest: Pulling from ryjer/opentracker
661ff4d9561e: Pull complete
f29ffd230948: Pull complete
e72e6a981102: Pull complete
Digest: sha256:67db529ec69573ab3bee534b75c4e9ac9374b78e7ac386f1286a77be7ad346e3
Status: Downloaded newer image for ryjer/opentracker:latest
docker.io/ryjer/opentracker:latest
相关内容
实现方法
通过ssh命令控制重启Docker服务或者直接重启机器
NAS停用Docker套件
bash /var/packages/Docker/scripts/start-stop-status stop
NAS开启Docker套件
bash /var/packages/Docker/scripts/start-stop-status start
老版本的群晖NAS
方法一:
-
添加 /etc/docker/env 文件
export HTTP_PROXY=127.0.0.1:8899 -
编辑 /etc/init/pkg-Docker-dockerd.conf 文件
将
exec /var/packages/Docker/target/usr/bin/dockerd --config-file /var/packages/Docker/etc/dockerd.json
改为
#exec /var/packages/Docker/target/usr/bin/dockerd --config-file /var/packages/Docker/etc/dockerd.json
script
source /etc/docker/env
/var/packages/Docker/target/usr/bin/dockerd --config-file /var/packages/Docker/etc/dockerd.json
end script
- 然后,重启 docker 服务,
- 停止 docker
- /var/packages/Docker/scripts/start-stop-status stop
- 启动 docker
- /var/packages/Docker/scripts/start-stop-status start
- 停止 docker
接着,你就尽情的 pull 吧,速度拉满
方法二:
- 删除 NAS 》 控制面板 》网络 》代理服务器
- 手动配置DNS服务器
- 223.5.5.5
- 114.114.114.114
- 设置 Docker 》 注册表 》设置
- 清空 /etc/docker/daemon.json
方法三:
测试拉取失败:https://dockerproxy.com/
旧版本的pkg-Docker-dockerd.service
cat pkg-Docker-dockerd.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
IgnoreOnIsolate=true
DefaultDependencies=no
[Service]
Type=notify
ExecStart=/var/packages/Docker/target/usr/bin/dockerd --config-file /var/packages/Docker/etc/dockerd.json
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=always
RestartSec=2
TimeoutSec=0
StartLimitBurst=3
StartLimitInterval=60s
[X-Synology]
灵感来源
关键字:群晖 docker daemon http proxy 配置