配置docker国内镜像源
使用docker拉取镜像的时候,有时候会卡在中途死活下载不完。一般这种情况就是因为docker默认的镜像源是Dockerhub,而这个网站在域外。所以和Ubuntu换国内源一样,我们也可以对docker换国内镜像源。
docker的镜像源文件配置在 /etc/docker/daemon.json处,如果没有的话我们就创建一个然后再修改。
sudo vim /etc/docker/daemon.json
常见的国内源有:
Docker国内镜像源:https://registry.docker-cn.com
中科大源:https://docker.mirrors.ustc.edu.cn
网易源:https://hub-mirror.c.163.com
百度源:https://mirror.baidubce.com
腾讯源:https://ccr.ccs.tencentyun.com
阿里源:需要登陆cr.console.aliyun.com创建单独的镜像源链接,就不介绍了。
根据测试情况,酌情在配置文件中添加需要的镜像源链接,如下所示:
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://ccr.ccs.tencentyun.com"
]
}
重启docker,注意由于走的是守护程序daemon,所以daemon进程也需要重启。
sudo systemctl daemon-reload #重启daemon进程
sudo systemctl restart docker #重启docker
最后我们再验证一下是否修改成功,运行
docker info
在长串info信息中如果出现类似下文的内容:
Registry Mirrors:
https://docker.mirrors.ustc.edu.cn/
http://hub-mirror.c.163.com/
https://mirror.ccs.tencentyun.com/
https://registry.docker-cn.com/
那就说明我们的docker国内镜像源修改成功了。
docker命令走代理
然而实际测试下来,就算我们修改成功了国内的镜像源,有时候由于国内镜像更新不及时,或者需要拉取的镜像比较冷门,只有域外镜像站才有,那么我们不得不让docker pull命令,走我们的代理。
我们在docker的进程服务文件夹配置我们的代理设置,如果没有我们就新建这个文件夹:
sudo mkdir /etc/systemd/system/docker.service.d
然后在docker.service.d文件夹里新建我们的代理文件proxy.conf
sudo vim proxy.conf
并把文件写如下面这个格式:
[Service]
Environment="HTTP_PROXY=代理服务器ip:port"
Environment="HTTPS_PROXY=代理服务器ip:port"
假如我们本机已经设置好代理了,那么代理服务器就可以写为localhost,端口就是我们设置的http和https代理端口即可,形如:
[Service]
Environment="HTTP_PROXY=localhost:port"
Environment="HTTPS_PROXY=localhost:port"
保存并退出proxy.conf文件,和更改镜像源一样,重启docker,并重启daemon进程。
sudo systemctl daemon-reload #重启daemon进程
sudo systemctl restart docker #重启docker
最后我们仍然是验证一下是否修改成功,运行
docker info
在长串info信息中如果出现类似下文的内容:
HTTP Proxy: 代理服务器ip:port
HTTPS Proxy: 代理服务器ip:port
那就说明我们已经成功设置docker pull命令走代理了,一般情况下也就不会出现拉取镜像卡死的情况了。
``
免责声明
本学习笔记旨在提供编程语言和相关主题的信息和资源,帮助读者学习和掌握编程技能。然而,请注意以下事项:
准确性和完整性:尽管本博客内容经过精心编写和研究,但作者无法保证信息始终准确、完整或最新。编程语言和技术领域不断发展,读者应自行核实和查阅官方文档以确保信息的最新和准确。
文章评论