Docker 之registry私有仓库搭建

Docker 之registry私有仓库搭建

官方提供的私有仓库docker registry用法html

https://yeasy.gitbooks.io/docker_practice/repository/registry.htmlnode

1.下载registry镜像而且启动私有仓库容器

(1)下载

docker pull registrygit

私有仓库会被建立在容器的/var/lib/registry下,所以经过-v参数将镜像文件存储到本地的/opt/data/registry下 端口映射容器中的5000端口到宿主机的5000端口web

(2)启动

docker run -d -p 服务器端口:容器端口 -v  服务器目录:私有仓库容器目录docker

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

(3)测试运行

检查启动的registry容器vim

docker pscentos

测试链接容器api

# telnet 服务器IP 端口(根据运行的端口)浏览器

telnet 10.0.0.209 5000

 

直接用浏览器访问

http://ip+端口(5000)能够测试/v2/_catalog

页面会有以下显示

 

 

 

 

2.修改镜像tag

docker registry的地址端口开头

# 语法: docker tag 原镜像名 服务器IP:5000/镜像名

如:

# docker tag centos 10.0.0.209:5000/mycentos

这个时候咱们会遇到一个https限制推送镜像的问题

3.解决 HTTPS 方式推送镜像问题

(1)修改/etc/docker/daemon.json配置

经过 Docker 的配置选项来取消这个限制,这里必须写正确json数据

添加一行配置

下面的ip为运行私有仓库的ip,端口5000

[root@node209 ~]# cat /etc/docker/daemon.json

{

  "registry-mirrors": ["https://t7h7r7wr.mirror.aliyuncs.com"],

  "insecure-registries":["10.0.0.209:5000"]

}

(2)添加/lib/systemd/system/docker.service配置

写入到[Service]配置块中,加载此配置文件

vim /lib/systemd/system/docker.service

添加一行配置

EnvironmentFile=-/etc/docker/daemon.json

结果以下截图:

 

(3)从新加载docker及重启并重启仓库容器

从新加载docker

systemctl daemon-reload

重启docker

systemctl restart docker

重启仓库容器

# docker ps -a     # 找到registry 镜像所对应的容器ID

# dokcer start 容器ID

(4)推送本地镜像

# docker push 10.0.0.209:5000/mycentos

5.查看推送状况

因为docker registry没有web界面,可是提供了API数据

要想查看已经上传的镜像, 经过如下连接访问便可查看:

官网教程:https://docs.docker.com/registry/spec/api/#listing-repositories

:10.0.0.209为部署仓库的服务器IP

法一:

curl http://10.0.0.209:5000/v2/_catalog

法二:

浏览器访问http://10.0.0.209.10:5000/v2/_catalog

法一:截图

 

法二:截图

 

 

 

 

 

均可得上传镜像到私有仓库成功

6.删除本地镜像,从私有仓库中下载

#docker rmi 10.0.0.209:5000/mycentos    #删除刚才上传的本地镜像

#docker pull 10.0.0.209:5000/mycentos    #从私有仓库pull下载镜像

#docker images                       # 查看镜像

 

相关文章
相关标签/搜索