docker私有库搭建过程(Registry)

简介:

Registry
实验环境:
CentOS7
Docker

1、安装并运行registry
安装:
[root@docker01 ~]# docker pull registry
Using default tag: latest
Trying to pull repository docker.io/library/registry ...
latest: Pulling from docker.io/library/registry
79650cf9cc01: Pull complete
70ce42745103: Pull complete
77edd1a7fa4d: Pull complete
432773976ace: Pull complete
3234a47fe5a9: Pull complete
Digest: sha256:a3551c422521617e86927c3ff57e05edf086f1648f4d8524633216ca363d06c2
[root@docker01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/busybox latest c30178c5239f 6 days ago 1.106 MB
docker.io/registry latest 9d0c4eabab4d 6 weeks ago 33.17 MB
[root@docker01 ~]#

运行:
[root@docker01 ~]# docker run -d -p 5000:5000 -v /mnt/date/registry:/var/lib/registry registry
75841a99e1fc882617bc37d088a8c80abae225cfe2842110f2049600df560a47
[root@docker01 ~]#
-d后台运行
-p指定端口
-v把registry的镜像路径/var/lib/registry映射到本机的/mnt/date/registry

检查5000端口
netstat -an | grep 5000
[root@docker01 ~]# netstat -an | grep 5000
tcp6 0 0 :::5000 :::* LISTEN
[root@docker01 ~]#

telnet 127.0.0.1 5000成功。
[root@docker01 ~]# telnet 127.0.0.1 5000
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
q
HTTP/1.1 400 Bad Request
Content-Type: text/plain
Connection: close

400 Bad RequestConnection closed by foreign host.
[root@docker01 ~]#

2、添加tag标记
[root@registry ~]# docker tag busybox 10.100.50.120:5000/busybox
[root@registry ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
10.100.50.122:5000/busybox latest c30178c5239f 6 days ago 1.106 MB
docker.io/busybox latest c30178c5239f 6 days ago 1.106 MB
docker.io/registry latest 9d0c4eabab4d 6 weeks ago 33.17 MB
[root@registry ~]#

3、上传镜像报错
[root@registry xinetd.d]# docker push 10.100.50.120:5000/busybox
The push refers to a repository [10.100.50.122:5000/busybox]
Get https://10.100.50.120:5000/v1/_ping: http: server gave HTTP response to HTTPS client
[root@registry xinetd.d]#

解决方案:
修改/etc/sysconfig/docker文件,并重新启动docker服务。
ADD_REGISTRY='--add-registry 10.100.50.120:5000'
INSECURE_REGISTRY='--insecure-registry 10.100.50.120:5000'
screenshot

4、上传镜像
[root@registry ~]# docker push 10.100.50.120:5000/busybox
The push refers to a repository [10.100.50.120:5000/busybox]
3a1dff9afffd: Pushed
latest: digest: sha256:be3c11fdba7cfe299214e46edc642e09514dbb9bbefcd0d3836c05a1e0cd0642 size: 527
[root@registry ~]#

其他坑:
坑1:
IPV4 forwording报错,但是容器运行正常。
[root@registry mnt]# docker run -d -p 5000:5000 -v /mnt/date/registry registry
WARNING: IPv4 forwarding is disabled. Networking will not work.
970e18480c47661fd2cffab9f7e0410989e62ed9d229333cb32e5727a2e88b3b
[root@registry mnt]#

解决方案:
在/etc/sysctl.conf文件中加入net.ipv4.ip_forward=1并重启网络服务。
screenshot

修改后正常:
[root@registry mnt]# docker run -d -p 5000:5000 -v /mnt/date/registry registry
abbec57e5dca734689cfd953f27564156ec24e32ae6e532043309f0332653650
[root@registry mnt]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
abbec57e5dca registry "/entrypoint.sh /etc/" 31 seconds ago Up 30 seconds 0.0.0.0:5000->5000/tcp compassionate_mclean
[root@registry mnt]#

坑2:
查看镜像存放位置显示404 page not found网上很多教程都是下面这个命令
[root@docker01 ~]# curl http://10.100.50.122:5000/v2/search
404 page not found
通过docker search registry发现安装的是2.0版本。
screenshot

V2的命令格式如下:
[root@docker01 ~]# curl -X GET http://10.100.50.122:5000/v2/_catalog
{"repositories":["busybox","centos"]}
[root@docker01 ~]#
文档:http://www.jianshu.com/p/fc36368b5c44

目录
相关文章
|
4月前
|
存储 数据可视化 数据安全/隐私保护
使用 Docker Compose 部署 Docker Registry
【1月更文挑战第2天】 在内网环境中,我们期望能够在本地共享镜像。为了解决这一问题,Docker Registry成为了我们的救星。Docker Registry是一个用于存储和管理Docker镜像的开源工具。通过在本地部署Docker Registry,您可以轻松地构建、存储和分享自己的Docker镜像。
161 3
使用 Docker Compose 部署 Docker Registry
|
5月前
|
关系型数据库 MySQL Linux
Linux 本地 Docker Registry本地镜像仓库远程连接
Linux 本地 Docker Registry本地镜像仓库远程连接
123 0
|
6月前
|
JSON Kubernetes Docker
k8s 集群中运行 docker registry 镜像仓库
k8s 集群中运行 docker registry 镜像仓库
649 0
|
2月前
|
关系型数据库 MySQL Linux
如何在Linux上搭建本地Docker Registry镜像仓库并实现公网访问
如何在Linux上搭建本地Docker Registry镜像仓库并实现公网访问
101 0
|
4月前
|
关系型数据库 MySQL Linux
Docker Registry本地镜像仓库部署并实现远程连接拉取镜像
Docker Registry本地镜像仓库部署并实现远程连接拉取镜像
167 1
|
9月前
|
安全 网络协议 关系型数据库
2021-09-08东软Linux学习-----CentOS Docker wordpress compose registry Cockpit
2021-09-08东软Linux学习-----CentOS Docker wordpress compose registry Cockpit
53 0
|
5月前
|
存储 数据可视化 数据安全/隐私保护
Docker Registry本地私有仓库搭建
Docker Registry本地私有仓库搭建
243 0
|
7月前
|
Cloud Native Go Docker
【云原生】Docker私有仓库registry
【云原生】Docker私有仓库registry
112 0
|
8月前
|
关系型数据库 MySQL Linux
高效管理体验?试试docker registry连接
Docker Registry 本地镜像仓库,简单几步结合cpolar内网穿透工具实现远程pull or push (拉取和推送)镜像,让你不受本地局域网限制困扰!
274 0
高效管理体验?试试docker registry连接
|
9月前
|
存储 缓存 Ubuntu
【Docker】Docker比虚拟机快的原因、ubuntu容器、镜像的分层概念和私有库的详细讲解
【Docker】Docker比虚拟机快的原因、ubuntu容器、镜像的分层概念和私有库的详细讲解
275 0