太久没有使用docker进行镜像拉取,今天使用docker-compose拉取mongo发现报错(如下图):
报错信息翻译:证书已过期或尚未有效。
解决办法:
1.一般都是证书问题或者系统时间问题导致,可以先执行 date
看一下系统时间对不对,如果服务器系统时间跟现实实际时间对不上的话,一般就是系统时间问题,同步时间即可。
// 查看当前时间
date
// 安装ntp
yum -y install ntpdate
// 更新系统时间
ntpdate cn.pool.ntp.org
如果下载ntp,可以手动更改时间(这样也可以让docker成功运行)
// 设置日期和时间的一般格式:
date -s "YYYY-MM-DD HH:MM:SS"
// 要将日期时间设置为 2024 年 5 月 22 日 3:00 PM,可以运行:
date -s "2024-05-22 15:00:00"
2.证书问题
证书问题需要编辑 /etc/docker/daemon.json
文件,在配置文件中添加"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
配置。
// 编辑/etc/docker/daemon.json文件
vim /etc/docker/daemon.json
// 添加内容:
{ "registry-mirrors:["https://hx983jf6.mirror.aliyuncs.com","https://docker.mirrors.ustc.edu.cn"], //第一个是镜像加速配置 "graph":"/mnt/data" //修改Docker默认存储路径配置 }
// 更新docker/daemon.json配置
systemctl daemon-reload
// 重启docker服务
systemctl restart docker
完成后即可重新拉取镜像
补充:如果拉取下来的镜像不可运行,尝试换一个版本(别问我怎么知道的,嘻嘻!!!)