我帮你踩坑:ubuntu18.04 docker换源

起因

项目中需要用到python,python的版本控制,包控制都感觉挺麻烦的,所以打算上来直接docker

目录

换源

换源方法

最终配置


换源

这件事真的很重要,因为国外的源真的很慢,并且时不时卡住不动

单单在这个Downloading这里等了差不多20分钟,它都没动过


换了国内的源之后,十几分钟就安装完了

换源方法

阮一峰的做法

进入/etc/default/docker 文件(需要sudo权限),加入下面这一行,这个源的地址是docker中国区官方的

DOCKER_OPTS="--registry-mirror=https://registry.docker-cn.com"

我还看到很多人都是用的别的方法
_Sirius@CSDN Ubuntu Linux下修改docker镜像源

他们是在/etc/docker/daemon.json 里面添加下面这个

{
  "registry-mirrors": ["https://y0qd3iq.mirror.aliyuncs.com"]
}

我觉得这个y0qd3iq很奇怪,不像一个正常路径
便去翻了更多的资料,在runoob Docker镜像加速发现,如下图

这应该是最初哪个小伙伴,在写博客的时候把自己的完整url放了出来
实际上,阿里云的这个镜像加速是自用而不是公开的才对
因为阿里云给每个人的免费资源都是有限的

再看到里面,真相了

下面引自 runoob

并且https://registry.docker-cn.com 好像已经不能用了,所以我加速了个寂寞
原先卡住,后来成功,都是运气问题

最终配置

可以多配置几个镜像源,github的测试,配置到/etc/docker/daemon.json 文件里面

{
    "registry-mirrors":[
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.io",
        "https://registry.hub.docker.com",
        "https://mirror.baidubce.com"
    ]
}

这个daemon.json 一定一定要符合json规范,不然docker服务会启动失败
我试了几次失败了,发现是数组最后一行后面有个逗号
这个符合python语法,不符合json语法

更多

验证是否换源成功

sudo docker info
sudo docker info | grep Mirrors -A 1

必须要使用sudo,因为docker不允许普通用户操作,如果不想每次命令都用sudo那么可以将该用户添加进入docker用户组

第一行是输出docker信息,在输出信息的最后面,可以看到Registry Mirrors
第二行是输出docker信息,并将输出信息作为grep的输入,grep是一个文本处理命令
整个grep命令是,找到含有Mirrors单词的那一行输出,并输出之后一行   grep相关命令意思

可以看到这里输出了三个warning,但那又是另外的故事了

猜你喜欢

转载自blog.csdn.net/Gragon_Shao/article/details/112862032