解决方法一、Docker配置国内源
配置docker的registry-mirror
sed -i "s|ExecStart=/usr/bin/dockerd|ExecStart=/usr/bin/dockerd --registry-mirror=https://registry.docker-cn.com/|g" /lib/systemd/system/docker.service
systemctl daemon-reload
systemctl restart docker
#或者可以使用腾讯云地址:https:mirror.ccs.tencentyun.com
验证
docker info
确认Registry Mirrors的地址已经修改成功:
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Registry Mirrors:
https://registry.docker-cn.com/
Live Restore Enabled: false
ERROR: 使用docker pull 语句,执行中报错:HTTP 408
docker: error pulling image configuration: error parsing HTTP 408 response body: invalid character '<' looking for beginning of value: "<html><body><h1>408 Request Time-out</h1>\nYour browser didn't send a complete request in time.\n</body></html>\n\n".
此时需要修改当前网卡的MTU为900
#临时修改:
ifconfig eth0 mtu 900
#永久修改(尝试设置,但是失败了...):
#vi /etc/network/interfaces
#【在最后增加内容: mtu 900 】...
【然后重启网卡】
/etc/init.d/networking restart
解决方法二、 安装加速器
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
解决方法三、添加国内镜像站
执行命令
$ systemctl cat docker | grep '\-\-registry\-mirror'
如果该命令有输出,那么请执行
$ systemctl cat docker
查看 ExecStart=
出现的位置,修改对应的文件内容去掉 --registry-mirror
参数及其值,并按接下来的步骤进行配置。如果以上命令没有任何输出,那么就可以在
/etc/docker/daemon.json
中写入如下内容(如果文件不存在请新建该文件):{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。
之后重新启动服务。
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
注意:本文归作者所有,未经作者允许,不得转载