简介: docker私有镜像仓库的搭建及认证
前言
在生产上使用的 Docker 镜像可能包含我们的代码、配置信息等,不想被外部人员获取,只允许内
网的开发人员下载。
Docker 官方提供了一个叫做 registry 的镜像用于搭建本地私有仓库使用。在内部网络搭建的 Docker 私有仓库可以使内网人员下载、上传都非常快速,不受外网带宽等因素的影响,同时不在内网的人员也无法下载我们的镜像,并且私有仓库也支持配置仓库认证功能。接下来详细讲解 registry 私有仓库的搭建过程。
配置私有仓库(无认证)
拉取私有仓库镜像
docker pull registry
修改配置文件
修改 daemon.json 文件。
添加以下内容,用于让 Docker 信任私有仓库地址,保存退出。
vim /etc/docker/daemon.json
注意json文件,除了最后一行不加逗号,前面的行末尾都要加逗号,否则下面restart将踩坑
{ "registry-mirrors":["http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"], "insecure-registries":["192.168.135.10:5000"] }
重新加载配置信息及重启 Docker 服务。
# 重新加载某个服务的配置文件 sudo systemctl daemon-reload # 重新启动 docker sudo systemctl restart docker
创建私有仓库容器
[root@centos8 docker_registry]# docker run -id --name registry -p 5000:5000 -v /root/mydate/docker_registry:/var/lib/registry registry
-v :将容器内 /var/lib/registry 目录下的数据挂载至宿主机 /root/mydate/docker_registry目录下
打开浏览器输入:http://192.168.135.10:5000/v2/_catalog 看到 {“repositories”:[]} 表示私有
仓库搭建成功并且内容为空。
这里的192.168.135.10这个ip即你的Linux的ip,每个人都不同,自己手动查阅
推送镜像至私有仓库
先给镜像设置标签
再将镜像推送至私有仓库
docker tag local-image:tagname new-repo:tagname docker push new-repo:tagname
[root@centos8 docker_registry]#docker tag mycentos:7 192.168.135.10:5000/mycentos7:1.0 [root@centos8 docker_registry]#docker push 192.168