Docker 私有镜像仓库

2019-06-23 0 By admin

Docker Hub是docker官方的镜像仓库,为软件厂商和机构提供了一个即时更新容器镜像的渠道。在公司使用中,我们还是需要自行搭建镜像仓库。
对镜像仓库配置安全访问,需要使用到证书;请提前准备好registry 服务的证书和私钥,以及CA服务的证书。

一、服务端配置

下载镜像仓库的镜像
docker pull registry
使用镜像仓库创建容器
docker run -d -p 443:5000 \
-e REGISTRY_HTTP_ADDR=0.0.0.0:5000 \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/registry.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/registry.key \
--name=registry \
--restart=always \
--privileged=true \
--log-driver=none \
-v /etc/docker/certs.d/CA/:/certs \
-v /home/data/registrydata:/tmp/registry registry

二、客户端配置

1、在/etc/hosts 文件中设置
registry.local 127.0.0.1
2、配置CA服务证书
将CA的证书部署在 /etc/docker/certs.d/registry.local 目录下;重命名为ca.crt
3、对镜像打新的tag
docker tag registry.access.redhat.com/rhel7/pod-infrastructure:latest registry.local/pod-infrastructure:latest
4、将镜像推送到本地仓库
docker push registry.local/pod-infrastructure:latest
5、从镜像仓库下载镜像
docker pull registry.local/pod-infrastructure:latest

三、补充说明

1、设置docker服务默认的镜像注册地址
/etc/docker/daemon.json 文件中添加内容
"insecure-registries": [ "172.18.18.90"]
检查 /etc/sysconfig/docker 文件,此文件OPTIONS配置项中如果有insecure-registries 配置项,则请删除掉。
2、通过浏览器查看仓库概况
https://registry.infolink.com/v2/_catalog