docker pull 报x509
最近通过docker pull
拉取私有仓库镜像出错,具体报错(证书问题
):
docker pull 私有仓库ip/资源路径
x509: certificate has expired or is not yet valid
要注意。如果报509
问题通常两方面原因:
- 1.系统时间不同步
- 2.证书问题,daemon.json文件配置有问题
1.系统时间不同步-解决方案
先使用date
命令查看系统当前时间,如果明显有问题,就要用到另外一个工具:ntpdate
,如果没有此命令,安装即可,ubuntu: apt install -y ntpdate
,centos: yum install -y ntpdate
。
首先更新时间:
# 更新时间同步:
ntpdate cn.pool.ntp.org
然后从新拉取镜像,应该此问题就可以解决。
2.daemon.json文件配置有问题
证书的问题需要编辑 daemo.json 文件:vi /etc/docker/daemon.json
参考格式如下:
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
"insecure-registries":[
"172.xx.xxx.xxx:4433",
"reg-cloud.xxxxx.com"
]
}
注意编辑的时候,格式,单词拼写,符号等不要出错。
保存后,重新载入配置,然后重启docker:
# systemctl daemon-reload
# service docker restart 或者 systemctl restart docker
docker启动报错
docker启动的时候,报错:
Failed to start Docker Application Container Engine
该问题一般还是用户配置有问题导致,即上文提到的daemon.json
,正确配置后重启docker
,问题应该解决。