daemon.json 是镜像库应用的闸门,必须将公有镜像库地址写入其中,否则就无奈 pull 或 push 镜像。
筹备一个用于试验的镜像:192.168.100.151:5000/mycentos
[root@k8s-master /data]# docker tag centos 192.168.100.151:5000/mycentos[root@k8s-master /data]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE192.168.100.151:5000/mycentos latest 67fa590cfc1c 2 months ago 202MBcentos latest 67fa590cfc1c 2 months ago 202MB
daemon.json 中没有镜像库 192.168.100.151:5000 这个地址,所以 push 镜像失败:
[root@k8s-master /data]# cat /etc/docker/daemon.json {"registry-mirrors":["https://tdimi5ql.mirror.aliyuncs.com"],"insecure-registries":["http://192.168.100.151:80"]}[root@k8s-master /data]# docker pull 192.168.100.151:5000/mycentosUsing default tag: latestError response from daemon: Get https://192.168.100.151:5000/v2/: http: server gave HTTP response to HTTPS client
在 /etc/docker/daemon.json 中从新增加公有库地址 http://192.168.100.151:5000 并重启 docker 服务让配置失效:
[root@k8s-master /data]# cat /etc/docker/daemon.json {"registry-mirrors":["https://tdimi5ql.mirror.aliyuncs.com"],"insecure-registries":["http://192.168.100.151:80"],"insecure-registries":["http://192.168.100.151:5000"]}[root@k8s-master /data]# systemctl restart docker.service
再次 push 镜像胜利:
[root@k8s-master /data]# docker push 192.168.100.151:5000/mycentosThe push refers to repository [192.168.100.151:5000/mycentos]877b494a9f30: Mounted from app/jenkins latest: digest: sha256:a36b9e68613d07eec4ef553da84d0012a5ca5ae4a830cf825bb68b929475c869 size: 529
验证:先将本地镜像 192.168.100.151:5000/mycentos 删除:
[root@k8s-master /data]# docker rmi 192.168.100.151:5000/mycentosUntagged: 192.168.100.151:5000/mycentos:latestUntagged: 192.168.100.151:5000/mycentos@sha256:a36b9e68613d07eec4ef553da84d0012a5ca5ae4a830cf825bb68b929475c869[root@k8s-master /data]# [root@k8s-master /data]# docker imagescentos latest 67fa590cfc1c 2 months ago 202MB
从新 pull 该镜像:
[root@k8s-master /data]# docker pull 192.168.100.151:5000/mycentosUsing default tag: latestlatest: Pulling from mycentosDigest: sha256:a36b9e68613d07eec4ef553da84d0012a5ca5ae4a830cf825bb68b929475c869Status: Downloaded newer image for 192.168.100.151:5000/mycentos:latest192.168.100.151:5000/mycentos:latest[root@k8s-master /data]# [root@k8s-master /data]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZE192.168.100.151:5000/mycentos latest 67fa590cfc1c 2 months ago 202MBcentos latest 67fa590cfc1c 2 months ago 202MB
能够发现,从新 pull 的镜像 id 跟原来一样
。