docker安装并拉取镜像(missing signature key、Error response from daemon、x509: certificate has expired o)
1. docker安装
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce-17.12.0.ce
systemctl enable docker
systemctl start docker
2. docker拉取镜像错误 missing signature key
当我使用docker拉取一个特定的镜像时,提示错误。
docker pull apache/apisix:3.2.2-centos
Error response from daemon: missing signature key
但我拉取其他镜像就可以访问。
例如
docker pull mongo:4.4.6
解决方案:
卸载当前版本docker
yum erase docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
下载最新版docker
yum install docker-ce -y
总结
应该是版本过低,导致与对应镜像版本不兼容导致的
3. Docker pull拉取镜像报错“Error response from daemon: Get “https://registry-1.docker.io/v2”解决办法
一、报错信息
[root@node ~]# docker pull o2oa/o2server
Using default tag: latest
Error response from daemon: Head "https://registry-1.docker.io/v2/o2oa/o2server/manifests/latest": net/http: TLS handshake timeout
二、检查daemon.json 文件
1.编辑daemon.json
可额外添加网易163的镜像加速
[root@node ~]# cat /etc/docker/daemon.json
{"registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com"]}
2.重启服务
systemctl daemon-reload
systemctl restart docker
三、查看dns解析
[root@node ~]# dig @114.114.114.114 registry-1.docker.io
; <<>> DiG 9.9.4-RedHat-9.9.4-72.el7 <<>> @114.114.114.114 registry-1.docker.io
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37194
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;registry-1.docker.io. IN A
;; ANSWER SECTION:
registry-1.docker.io. 32 IN A 44.194.5.25
registry-1.docker.io. 32 IN A 44.207.96.114
registry-1.docker.io. 32 IN A 44.207.51.64
;; Query time: 31 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Sat Aug 13 23:16:55 CST 2022
;; MSG SIZE rcvd: 97
四、添加host解析
[root@node ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
44.194.5.25 registry-1.docker.io
五、重新拉取镜像
[root@node ~]# docker pull o2oa/o2server
Using default tag: latest
latest: Pulling from o2oa/o2server
125a6e411906: Pull complete
afe724e20696: Pull complete
fde7ffb259f7: Pull complete
5aec3a1a0b3a: Pull complete
4. Docker报错:x509: certificate has expired or is not yet valid
一、问题描述
Docker pull镜像的时候 出现错误
x509: certificate has expired or is not yet valid
二、解决问题
x509: certificate has expired or is not yet valid
X509:证书已过期或尚未有效
两种情况:
-
证书已经过期了
-
证书是没有问题的,但是系统时间不对
1、检查系统时间
[root@localhost ~]# date
系统时间不对 修改系统时间
更新时间同步即可:
ntpdate cn.pool.ntp.org
如果提示不存在 ntpdate 命令需要先安装该命令:
yum install ntpdate
修改完成后
2、检查证书问题
如果是证书的问题需要编辑 daemo.json 文件:
vi /etc/docker/daemon.json
文件内添加:
{
"registry-mirrors":["https://b9pmyelo.mirror.aliyuncs.com"]
}
然后重启下 docker 服务:
systemctl restart docker
docker拉取镜像错误 missing signature key
Docker pull拉取镜像报错“Error response from daemon: Get “https://registry-1.docker.io/v2”解决办法