docker-compose up -d 一直报如下错误
ERROR: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
尝试修改daemon.json文件镜像加速配置参数一直没有成功,还是报如上错误
看起来好像是docker每次pull镜像都要访问一次registry-1.docker.io,于是尝试
解决网络问题
通过修改ubuntu代理如下,此时curl 访问 https://registry-1.docker.io/v2/已经没有问题
但是但是docker-compose up -d 还是有问题,由于Docker 由 dockerd
(Docker Daemon)管理,所以不能直接使用 shell 环境变量,而是需要从 systemd
角度配置代理。
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf
修改内容如下
[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,docker-registry.example.com,.corp"
重启docker镜像
sudo systemctl daemon-reload
sudo systemctl restart docker
最后成功拉取到docker
sudo docker-compose up -d