临渊羡鱼,不如退而结网
.

docker搭建本地私有仓库

环境说明:两台装有docker环境的centos7。安装docker的步骤可以参考

https://www.cnblogs.com/maohai-kdg/p/13474024.html

https://www.cnblogs.com/maohai-kdg/p/13597315.html

非常的详细!!!

思路:搭建一个本地私有docker容器仓库,本机或局域网内其他机器访问本地私有仓库,从而在大量部署的时候,可以非常快的拉取镜像

操心你不懂的话不多说,反正我也不会看系列(手动微笑),直接上才艺。

创建宿主机存储目录,即放容器镜像的路径

mkdir -p /opt/data/registry

下载并启动一个registry容器,-v指定镜像文件本地存放路径

docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry --name private_registry registry

配置http权限支持

vim /etc/docker/daemon.json

{
"insecure-registries":["192.168.92.134:5000"] }

重启docker服务,重启registry服务

systemctl restart docker
docker restart private_registry

 现在,测试上传和下载镜像到本地仓库

使用docker tag命令将镜像标记为192.168.92.134:5000/test

docker tag ubuntu:18.04 192.168.92.134/test

推送到本地仓库

docker push 192.168.92.134:5000/test

查看上传的镜像

curl http://192.168.92.134:5000/v2/_catalog 

现在可以删除本地的test镜像,然后测试从本地仓库重新下载镜像

从本地仓库拉取镜像

docker pull 192.168.92.134:5000/test

docker images

局域网内其它机器访问本地仓库

如果是直接拉取会出现以下问题

 出现这问题的原因是:Docker自从1.3.X之后docker registry交互默认使用的是HTTPS,但是搭建私有镜像默认使用的是HTTP服务,所以与私有镜像交互时出现以上错误。

需要修改docker daemon的启动参数(需要访问仓库的其他机器),添加如下参数,表示信任这个私有仓库,不进行安全证书检查(centos7为例)

vim /usr/lib/systemd/system/docker.service

添加如下内容

--insecure-registry 192.168.92.134:5000

修改好后重启docker服务和配置
systemctl daemon-reload
systemctl restart docker
 然后重启所有容器
docker setart $(docker ps -aq)

 然后再拉取,就好了

其它机器也可以上传镜像到本地仓库

 

posted @ 2020-09-16 10:23  胖胖小飞侠  阅读(3609)  评论(0编辑  收藏  举报