起因
项目中需要用到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,但那又是另外的故事了