【Docker】从零开始:10.registry搭建私有仓库
- 为什么要使用私有仓库
- 关于Docker Registry
- 基于容器搭建registry私有仓库
- 1.下载镜像
- 2. 启动镜像
- 3.修改系统配置文件
- 4.下载ubuntu镜像,修改名称
- 3.提交镜像
- 4.查看镜像
- 本地搭建私有仓库(目前编译报错找不到包,有解决办法后再更新)
- 1.安装golang
- 2.安装git
- 3.配置Golang环境并获取源码
- 安装
为什么要使用私有仓库
- 在使用Docker一段时间后,往往会发现手头积累了大量的自定义镜像文件,这些文件通过公有仓库进行管理并不方便;另外有时候只是希望在内部用户之间进行分享,不希望暴露出去。这种情况下,就有必要搭建一个本地私有镜像仓库。
关于Docker Registry
- Docker Registry工具目前最新为2.0系列版本,这一版本与一些类库、工具一起被打包为负责容器内容分发的工具集:Docker Distribution。目前其核心的功能组件仍为负责镜像仓库的管理。新版本的Registry基于Golang进行了重构,提供更好的性能和扩展性,并且支持Docker 1.6+的API,非常适合用来构建私有的镜像注册服务器。官方仓库中也提供了Registry的镜像,因此用户可以通过容器运行和源码安装两种方式来使用Registry。
- 使用Docker Registry的两种主要方式:通过容器方式运行和通过本地安装运行并注册为系统服务,以及添加Nginx反向代理,添加用户认证功能。Docker Registry配置文件中各个选项的含义和使用。如何通过脚本来实现对镜像的批量管理,以及使用Registry的通知系统来支持更多应用场景。
基于容器搭建registry私有仓库
1.下载镜像
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
[root@docker ~]# docker pull registry:latset
latset: Pulling from library/registry
[DEPRECATION NOTICE] Docker Image Format v1, and Docker Image manifest version 2, schema 1 support will be removed in an upcoming release. Suggest the author of docker.io/library/registry:2.1 to upgrade the image to the OCI Format, or Docker Image manifest v2, schema 2. More information at https://docs.docker.com/go/deprecated-image-specs/
9943fffae777: Pull complete
fb15e825cb68: Pull complete
b9583a207297: Pull complete
a3ed95caeb02: Pull complete
87fee1c528e9: Pull complete
829473b2393f: Pull complete
2c1adb4b358c: Pull complete
Digest: sha256:e641943a78a8f634c16ad69f5c9d779f470b147865c2121d89c52ea0da6fc1bd
Status: Downloaded newer image for registry:latset
docker.io/library/registry:latset
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry latset 52bb991b482e 8 years ago 220MB
[root@docker ~]#
2. 启动镜像
[root@docker ~]# docker run -d -p 5000:5000 --restart=always --name registry -v /opt/data/registry:/var/lib/registry registry:2.1
6b9d6ee76d00b76a7d0647a7d574d508f525f24f0103e6eedc0d3b734a90e8cc
[root@docker ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6b9d6ee76d00 registry:2.1 "/bin/registry /etc/…" 6 seconds ago Up 5 seconds 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp registry
[root@docker ~]# netstat -tnlp|grep -w 5000
tcp 0 0 0.0.0.0:5000 0.0.0.0:* LISTEN 5690/docker-proxy
tcp6 0 0 :::5000 :::* LISTEN 5696/docker-proxy
[root@docker ~]#
3.修改系统配置文件
- Docker Pushh默认往Docker仓库,未修改一下配置会报错:
-[root@docker ~]# docker push 192.168.40.21:5000/ubuntu:v1.0 The push refers to repository [192.168.40.21:5000/ubuntu] Get "https://192.168.40.21:5000/v2/": http: server gave HTTP response to HTTPS client
在文件中添加内容 “insecure-registries”: [“192.168.40.21:5000”],
192.168.40.21是我VM虚拟机的IP
[root@docker ~]# vi /etc/docker/daemon.json
[root@docker ~]# cat /etc/docker/daemon.json
{"insecure-registries": ["192.168.40.21:5000"],"registry-mirrors": ["https://i9t81ora.mirror.aliyuncs.com"]
}
[root@docker ~]# systemctl daemon-reload
[root@docker ~]# systemctl restart docker
[root@docker ~]#
4.下载ubuntu镜像,修改名称
[root@docker ~]# docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
7b1a6ab2e44d: Pull complete
Digest: sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest ba6acccedd29 2 years ago 72.8MB
registry latset 52bb991b482e 8 years ago 220MB
[root@docker ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6b9d6ee76d00 registry:2.1 "/bin/registry /etc/…" 7 minutes ago Up 7 minutes 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp registry
[root@docker ~]# docker tag ubuntu:latest 192.168.40.21:5000/ubuntu:v1.0
[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.40.21:5000/ubuntu v1.0 ba6acccedd29 2 years ago 72.8MB
ubuntu latest ba6acccedd29 2 years ago 72.8MB
registry latset 52bb991b482e 8 years ago 220MB
[root@docker ~]#
3.提交镜像
[root@docker ~]# docker push 192.168.40.21:5000/ubuntu:v1
The push refers to repository [192.168.40.21:5000/ubuntu]
9f54eef41275: Pushed
v1: digest: sha256:7cc0576c7c0ec2384de5cbf245f41567e922aab1b075f3e8ad565f508032df17 size: 529
[root@docker ~]#
4.查看镜像
[root@docker ~]# curl http://192.168.40.21:5000/v2/_catalog
{"repositories":["ubuntu"]}
[root@docker ~]# curl http://192.168.40.21:5000/v2/ubuntu/tags/list
{"name":"ubuntu","tags":["v1"]}
[root@docker ~]#
本地搭建私有仓库(目前编译报错找不到包,有解决办法后再更新)
1.安装golang
[root@docker ~]# yum install golang
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 golang.x86_64.0.1.19.13-1.el7 将被 安装
--> 正在处理依赖关系 golang-bin = 1.19.13-1.el7,它被软件包 golang-1.19.13-1.el7.x86_64 需要
--> 正在处理依赖关系 golang-src = 1.19.13-1.el7,它被软件包 golang-1.19.13-1.el7.x86_64 需要
--> 正在处理依赖关系 openssl-devel,它被软件包 golang-1.19.13-1.el7.x86_64 需要
--> 正在检查事务
---> 软件包 golang-bin.x86_64.0.1.19.13-1.el7 将被 安装
---> 软件包 golang-src.noarch.0.1.19.13-1.el7 将被 安装
---> 软件包 openssl-devel.x86_64.1.1.0.2k-26.el7_9 将被 安装
--> 正在处理依赖关系 openssl-libs(x86-64) = 1:1.0.2k-26.el7_9,它被软件包 1:openssl-devel-1.0.2k-26.el7_9.x86_64 需要
--> 正在处理依赖关系 zlib-devel(x86-64),它被软件包 1:openssl-devel-1.0.2k-26.el7_9.x86_64 需要
--> 正在处理依赖关系 krb5-devel(x86-64),它被软件包 1:openssl-devel-1.0.2k-26.el7_9.x86_64 需要
--> 正在检查事务
---> 软件包 krb5-devel.x86_64.0.1.15.1-55.el7_9 将被 安装
--> 正在处理依赖关系 libkadm5(x86-64) = 1.15.1-55.el7_9,它被软件包 krb5-devel-1.15.1-55.el7_9.x86_64 需要
--> 正在处理依赖关系 krb5-libs(x86-64) = 1.15.1-55.el7_9,它被软件包 krb5-devel-1.15.1-55.el7_9.x86_64 需要
--> 正在处理依赖关系 libverto-devel,它被软件包 krb5-devel-1.15.1-55.el7_9.x86_64 需要
--> 正在处理依赖关系 libselinux-devel,它被软件包 krb5-devel-1.15.1-55.el7_9.x86_64 需要
--> 正在处理依赖关系 libcom_err-devel,它被软件包 krb5-devel-1.15.1-55.el7_9.x86_64 需要
--> 正在处理依赖关系 keyutils-libs-devel,它被软件包 krb5-devel-1.15.1-55.el7_9.x86_64 需要
---> 软件包 openssl-libs.x86_64.1.1.0.2k-19.el7 将被 升级
--> 正在处理依赖关系 openssl-libs(x86-64) = 1:1.0.2k-19.el7,它被软件包 1:openssl-1.0.2k-19.el7.x86_64 需要
---> 软件包 openssl-libs.x86_64.1.1.0.2k-26.el7_9 将被 更新
---> 软件包 zlib-devel.x86_64.0.1.2.7-21.el7_9 将被 安装
--> 正在处理依赖关系 zlib = 1.2.7-21.el7_9,它被软件包 zlib-devel-1.2.7-21.el7_9.x86_64 需要
--> 正在检查事务
---> 软件包 keyutils-libs-devel.x86_64.0.1.5.8-3.el7 将被 安装
---> 软件包 krb5-libs.x86_64.0.1.15.1-50.el7 将被 升级
---> 软件包 krb5-libs.x86_64.0.1.15.1-55.el7_9 将被 更新
---> 软件包 libcom_err-devel.x86_64.0.1.42.9-19.el7 将被 安装
---> 软件包 libkadm5.x86_64.0.1.15.1-55.el7_9 将被 安装
---> 软件包 libselinux-devel.x86_64.0.2.5-15.el7 将被 安装
--> 正在处理依赖关系 libsepol-devel(x86-64) >= 2.5-10,它被软件包 libselinux-devel-2.5-15.el7.x86_64 需要
--> 正在处理依赖关系 pkgconfig(libsepol),它被软件包 libselinux-devel-2.5-15.el7.x86_64 需要
--> 正在处理依赖关系 pkgconfig(libpcre),它被软件包 libselinux-devel-2.5-15.el7.x86_64 需要
---> 软件包 libverto-devel.x86_64.0.0.2.5-4.el7 将被 安装
---> 软件包 openssl.x86_64.1.1.0.2k-19.el7 将被 升级
---> 软件包 openssl.x86_64.1.1.0.2k-26.el7_9 将被 更新
---> 软件包 zlib.x86_64.0.1.2.7-18.el7 将被 升级
---> 软件包 zlib.x86_64.0.1.2.7-21.el7_9 将被 更新
--> 正在检查事务
---> 软件包 libsepol-devel.x86_64.0.2.5-10.el7 将被 安装
---> 软件包 pcre-devel.x86_64.0.8.32-17.el7 将被 安装
--> 解决依赖关系完成依赖关系解决=================================================================================================================================================================================================================================================Package 架构 版本 源 大小
=================================================================================================================================================================================================================================================
正在安装:golang x86_64 1.19.13-1.el7 epel 643 k
为依赖而安装:golang-bin x86_64 1.19.13-1.el7 epel 107 Mgolang-src noarch 1.19.13-1.el7 epel 12 Mkeyutils-libs-devel x86_64 1.5.8-3.el7 base 37 kkrb5-devel x86_64 1.15.1-55.el7_9 updates 273 klibcom_err-devel x86_64 1.42.9-19.el7 base 32 klibkadm5 x86_64 1.15.1-55.el7_9 updates 180 klibselinux-devel x86_64 2.5-15.el7 base 187 klibsepol-devel x86_64 2.5-10.el7 base 77 klibverto-devel x86_64 0.2.5-4.el7 base 12 kopenssl-devel x86_64 1:1.0.2k-26.el7_9 updates 1.5 Mpcre-devel x86_64 8.32-17.el7 base 480 kzlib-devel x86_64 1.2.7-21.el7_9 updates 50 k
为依赖而更新:krb5-libs x86_64 1.15.1-55.el7_9 updates 810 kopenssl x86_64 1:1.0.2k-26.el7_9 updates 494 kopenssl-libs x86_64 1:1.0.2k-26.el7_9 updates 1.2 Mzlib x86_64 1.2.7-21.el7_9 updates 90 k事务概要
=================================================================================================================================================================================================================================================
安装 1 软件包 (+12 依赖软件包)
升级 ( 4 依赖软件包)总下载量:125 M
Is this ok [y/d/N]: y
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
(1/17): golang-1.19.13-1.el7.x86_64.rpm | 643 kB 00:00:00
(2/17): keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm | 37 kB 00:00:00
(3/17): libcom_err-devel-1.42.9-19.el7.x86_64.rpm | 32 kB 00:00:00
(4/17): krb5-devel-1.15.1-55.el7_9.x86_64.rpm | 273 kB 00:00:00
(5/17): golang-src-1.19.13-1.el7.noarch.rpm | 12 MB 00:00:00
(6/17): libkadm5-1.15.1-55.el7_9.x86_64.rpm | 180 kB 00:00:00
(7/17): libselinux-devel-2.5-15.el7.x86_64.rpm | 187 kB 00:00:00
(8/17): libsepol-devel-2.5-10.el7.x86_64.rpm | 77 kB 00:00:00
(9/17): krb5-libs-1.15.1-55.el7_9.x86_64.rpm | 810 kB 00:00:00
(10/17): libverto-devel-0.2.5-4.el7.x86_64.rpm | 12 kB 00:00:00
(11/17): openssl-1.0.2k-26.el7_9.x86_64.rpm | 494 kB 00:00:00
(12/17): openssl-devel-1.0.2k-26.el7_9.x86_64.rpm | 1.5 MB 00:00:00
(13/17): openssl-libs-1.0.2k-26.el7_9.x86_64.rpm | 1.2 MB 00:00:00
(14/17): zlib-devel-1.2.7-21.el7_9.x86_64.rpm | 50 kB 00:00:00
(15/17): pcre-devel-8.32-17.el7.x86_64.rpm | 480 kB 00:00:00
(16/17): zlib-1.2.7-21.el7_9.x86_64.rpm | 90 kB 00:00:00
(17/17): golang-bin-1.19.13-1.el7.x86_64.rpm | 107 MB 00:00:04
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计 30 MB/s | 125 MB 00:00:04
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction正在更新 : zlib-1.2.7-21.el7_9.x86_64 1/21 正在更新 : 1:openssl-libs-1.0.2k-26.el7_9.x86_64 2/21 正在更新 : krb5-libs-1.15.1-55.el7_9.x86_64 3/21 正在安装 : libkadm5-1.15.1-55.el7_9.x86_64 4/21 正在安装 : zlib-devel-1.2.7-21.el7_9.x86_64 5/21 正在安装 : keyutils-libs-devel-1.5.8-3.el7.x86_64 6/21 正在安装 : libcom_err-devel-1.42.9-19.el7.x86_64 7/21 正在安装 : libsepol-devel-2.5-10.el7.x86_64 8/21 正在安装 : golang-src-1.19.13-1.el7.noarch 9/21 正在安装 : pcre-devel-8.32-17.el7.x86_64 10/21 正在安装 : libselinux-devel-2.5-15.el7.x86_64 11/21 正在安装 : libverto-devel-0.2.5-4.el7.x86_64 12/21 正在安装 : krb5-devel-1.15.1-55.el7_9.x86_64 13/21 正在安装 : 1:openssl-devel-1.0.2k-26.el7_9.x86_64 14/21 正在安装 : golang-bin-1.19.13-1.el7.x86_64 15/21 正在安装 : golang-1.19.13-1.el7.x86_64 16/21 正在更新 : 1:openssl-1.0.2k-26.el7_9.x86_64 17/21 清理 : 1:openssl-1.0.2k-19.el7.x86_64 18/21 清理 : 1:openssl-libs-1.0.2k-19.el7.x86_64 19/21 清理 : krb5-libs-1.15.1-50.el7.x86_64 20/21 清理 : zlib-1.2.7-18.el7.x86_64 21/21 验证中 : 1:openssl-devel-1.0.2k-26.el7_9.x86_64 1/21 验证中 : zlib-devel-1.2.7-21.el7_9.x86_64 2/21 验证中 : golang-bin-1.19.13-1.el7.x86_64 3/21 验证中 : libverto-devel-0.2.5-4.el7.x86_64 4/21 验证中 : pcre-devel-8.32-17.el7.x86_64 5/21 验证中 : libkadm5-1.15.1-55.el7_9.x86_64 6/21 验证中 : krb5-libs-1.15.1-55.el7_9.x86_64 7/21 验证中 : 1:openssl-libs-1.0.2k-26.el7_9.x86_64 8/21 验证中 : golang-src-1.19.13-1.el7.noarch 9/21 验证中 : 1:openssl-1.0.2k-26.el7_9.x86_64 10/21 验证中 : libsepol-devel-2.5-10.el7.x86_64 11/21 验证中 : libselinux-devel-2.5-15.el7.x86_64 12/21 验证中 : krb5-devel-1.15.1-55.el7_9.x86_64 13/21 验证中 : libcom_err-devel-1.42.9-19.el7.x86_64 14/21 验证中 : zlib-1.2.7-21.el7_9.x86_64 15/21 验证中 : golang-1.19.13-1.el7.x86_64 16/21 验证中 : keyutils-libs-devel-1.5.8-3.el7.x86_64 17/21 验证中 : zlib-1.2.7-18.el7.x86_64 18/21 验证中 : 1:openssl-1.0.2k-19.el7.x86_64 19/21 验证中 : krb5-libs-1.15.1-50.el7.x86_64 20/21 验证中 : 1:openssl-libs-1.0.2k-19.el7.x86_64 21/21 已安装:golang.x86_64 0:1.19.13-1.el7 作为依赖被安装:golang-bin.x86_64 0:1.19.13-1.el7 golang-src.noarch 0:1.19.13-1.el7 keyutils-libs-devel.x86_64 0:1.5.8-3.el7 krb5-devel.x86_64 0:1.15.1-55.el7_9 libcom_err-devel.x86_64 0:1.42.9-19.el7 libkadm5.x86_64 0:1.15.1-55.el7_9 libselinux-devel.x86_64 0:2.5-15.el7 libsepol-devel.x86_64 0:2.5-10.el7 libverto-devel.x86_64 0:0.2.5-4.el7 openssl-devel.x86_64 1:1.0.2k-26.el7_9 pcre-devel.x86_64 0:8.32-17.el7 zlib-devel.x86_64 0:1.2.7-21.el7_9 作为依赖被升级:krb5-libs.x86_64 0:1.15.1-55.el7_9 openssl.x86_64 1:1.0.2k-26.el7_9 openssl-libs.x86_64 1:1.0.2k-26.el7_9 zlib.x86_64 0:1.2.7-21.el7_9 完毕!
[root@docker ~]#
2.安装git
[root@docker docker]# yum install git
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 git.x86_64.0.1.8.3.1-25.el7_9 将被 安装
--> 正在处理依赖关系 perl-Git = 1.8.3.1-25.el7_9,它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl >= 5.008,它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 rsync,它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(warnings),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(vars),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(strict),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(lib),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Term::ReadKey),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Git),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Getopt::Long),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(File::stat),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(File::Temp),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(File::Spec),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(File::Path),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(File::Find),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(File::Copy),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(File::Basename),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Exporter),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Error),它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在处理依赖关系 /usr/bin/perl,它被软件包 git-1.8.3.1-25.el7_9.x86_64 需要
--> 正在检查事务
---> 软件包 perl.x86_64.4.5.16.3-299.el7_9 将被 安装
--> 正在处理依赖关系 perl-libs = 4:5.16.3-299.el7_9,它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Socket) >= 1.3,它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Scalar::Util) >= 1.10,它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl-macros,它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl-libs,它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(threads::shared),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(threads),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(constant),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Time::Local),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Time::HiRes),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Storable),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Socket),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Scalar::Util),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Pod::Simple::XHTML),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Pod::Simple::Search),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Filter::Util::Call),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 perl(Carp),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
--> 正在处理依赖关系 libperl.so()(64bit),它被软件包 4:perl-5.16.3-299.el7_9.x86_64 需要
---> 软件包 perl-Error.noarch.1.0.17020-2.el7 将被 安装
---> 软件包 perl-Exporter.noarch.0.5.68-3.el7 将被 安装
---> 软件包 perl-File-Path.noarch.0.2.09-2.el7 将被 安装
---> 软件包 perl-File-Temp.noarch.0.0.23.01-3.el7 将被 安装
---> 软件包 perl-Getopt-Long.noarch.0.2.40-3.el7 将被 安装
--> 正在处理依赖关系 perl(Pod::Usage) >= 1.14,它被软件包 perl-Getopt-Long-2.40-3.el7.noarch 需要
--> 正在处理依赖关系 perl(Text::ParseWords),它被软件包 perl-Getopt-Long-2.40-3.el7.noarch 需要
---> 软件包 perl-Git.noarch.0.1.8.3.1-25.el7_9 将被 安装
---> 软件包 perl-PathTools.x86_64.0.3.40-5.el7 将被 安装
---> 软件包 perl-TermReadKey.x86_64.0.2.30-20.el7 将被 安装
---> 软件包 rsync.x86_64.0.3.1.2-12.el7_9 将被 安装
--> 正在检查事务
---> 软件包 perl-Carp.noarch.0.1.26-244.el7 将被 安装
---> 软件包 perl-Filter.x86_64.0.1.49-3.el7 将被 安装
---> 软件包 perl-Pod-Simple.noarch.1.3.28-4.el7 将被 安装
--> 正在处理依赖关系 perl(Pod::Escapes) >= 1.04,它被软件包 1:perl-Pod-Simple-3.28-4.el7.noarch 需要
--> 正在处理依赖关系 perl(Encode),它被软件包 1:perl-Pod-Simple-3.28-4.el7.noarch 需要
---> 软件包 perl-Pod-Usage.noarch.0.1.63-3.el7 将被 安装
--> 正在处理依赖关系 perl(Pod::Text) >= 3.15,它被软件包 perl-Pod-Usage-1.63-3.el7.noarch 需要
--> 正在处理依赖关系 perl-Pod-Perldoc,它被软件包 perl-Pod-Usage-1.63-3.el7.noarch 需要
---> 软件包 perl-Scalar-List-Utils.x86_64.0.1.27-248.el7 将被 安装
---> 软件包 perl-Socket.x86_64.0.2.010-5.el7 将被 安装
---> 软件包 perl-Storable.x86_64.0.2.45-3.el7 将被 安装
---> 软件包 perl-Text-ParseWords.noarch.0.3.29-4.el7 将被 安装
---> 软件包 perl-Time-HiRes.x86_64.4.1.9725-3.el7 将被 安装
---> 软件包 perl-Time-Local.noarch.0.1.2300-2.el7 将被 安装
---> 软件包 perl-constant.noarch.0.1.27-2.el7 将被 安装
---> 软件包 perl-libs.x86_64.4.5.16.3-299.el7_9 将被 安装
---> 软件包 perl-macros.x86_64.4.5.16.3-299.el7_9 将被 安装
---> 软件包 perl-threads.x86_64.0.1.87-4.el7 将被 安装
---> 软件包 perl-threads-shared.x86_64.0.1.43-6.el7 将被 安装
--> 正在检查事务
---> 软件包 perl-Encode.x86_64.0.2.51-7.el7 将被 安装
---> 软件包 perl-Pod-Escapes.noarch.1.1.04-299.el7_9 将被 安装
---> 软件包 perl-Pod-Perldoc.noarch.0.3.20-4.el7 将被 安装
--> 正在处理依赖关系 perl(parent),它被软件包 perl-Pod-Perldoc-3.20-4.el7.noarch 需要
--> 正在处理依赖关系 perl(HTTP::Tiny),它被软件包 perl-Pod-Perldoc-3.20-4.el7.noarch 需要
---> 软件包 perl-podlators.noarch.0.2.5.1-3.el7 将被 安装
--> 正在检查事务
---> 软件包 perl-HTTP-Tiny.noarch.0.0.033-3.el7 将被 安装
---> 软件包 perl-parent.noarch.1.0.225-244.el7 将被 安装
--> 解决依赖关系完成依赖关系解决=================================================================================================================================================================================================================================================Package 架构 版本 源 大小
=================================================================================================================================================================================================================================================
正在安装:git x86_64 1.8.3.1-25.el7_9 updates 4.4 M
为依赖而安装:perl x86_64 4:5.16.3-299.el7_9 updates 8.0 Mperl-Carp noarch 1.26-244.el7 base 19 kperl-Encode x86_64 2.51-7.el7 base 1.5 Mperl-Error noarch 1:0.17020-2.el7 base 32 kperl-Exporter noarch 5.68-3.el7 base 28 kperl-File-Path noarch 2.09-2.el7 base 26 kperl-File-Temp noarch 0.23.01-3.el7 base 56 kperl-Filter x86_64 1.49-3.el7 base 76 kperl-Getopt-Long noarch 2.40-3.el7 base 56 kperl-Git noarch 1.8.3.1-25.el7_9 updates 56 kperl-HTTP-Tiny noarch 0.033-3.el7 base 38 kperl-PathTools x86_64 3.40-5.el7 base 82 kperl-Pod-Escapes noarch 1:1.04-299.el7_9 updates 52 kperl-Pod-Perldoc noarch 3.20-4.el7 base 87 kperl-Pod-Simple noarch 1:3.28-4.el7 base 216 kperl-Pod-Usage noarch 1.63-3.el7 base 27 kperl-Scalar-List-Utils x86_64 1.27-248.el7 base 36 kperl-Socket x86_64 2.010-5.el7 base 49 kperl-Storable x86_64 2.45-3.el7 base 77 kperl-TermReadKey x86_64 2.30-20.el7 base 31 kperl-Text-ParseWords noarch 3.29-4.el7 base 14 kperl-Time-HiRes x86_64 4:1.9725-3.el7 base 45 kperl-Time-Local noarch 1.2300-2.el7 base 24 kperl-constant noarch 1.27-2.el7 base 19 kperl-libs x86_64 4:5.16.3-299.el7_9 updates 690 kperl-macros x86_64 4:5.16.3-299.el7_9 updates 44 kperl-parent noarch 1:0.225-244.el7 base 12 kperl-podlators noarch 2.5.1-3.el7 base 112 kperl-threads x86_64 1.87-4.el7 base 49 kperl-threads-shared x86_64 1.43-6.el7 base 39 krsync x86_64 3.1.2-12.el7_9 updates 408 k事务概要
=================================================================================================================================================================================================================================================
安装 1 软件包 (+31 依赖软件包)总下载量:16 M
安装大小:59 M
Is this ok [y/d/N]: y
Downloading packages:
(1/32): perl-Carp-1.26-244.el7.noarch.rpm | 19 kB 00:00:00
(2/32): perl-Error-0.17020-2.el7.noarch.rpm | 32 kB 00:00:00
(3/32): perl-Exporter-5.68-3.el7.noarch.rpm | 28 kB 00:00:00
(4/32): perl-File-Path-2.09-2.el7.noarch.rpm | 26 kB 00:00:00
(5/32): git-1.8.3.1-25.el7_9.x86_64.rpm | 4.4 MB 00:00:00
(6/32): perl-File-Temp-0.23.01-3.el7.noarch.rpm | 56 kB 00:00:00
(7/32): perl-Encode-2.51-7.el7.x86_64.rpm | 1.5 MB 00:00:00
(8/32): perl-Filter-1.49-3.el7.x86_64.rpm | 76 kB 00:00:00
(9/32): perl-5.16.3-299.el7_9.x86_64.rpm | 8.0 MB 00:00:00
(10/32): perl-Git-1.8.3.1-25.el7_9.noarch.rpm | 56 kB 00:00:00
(11/32): perl-HTTP-Tiny-0.033-3.el7.noarch.rpm | 38 kB 00:00:00
(12/32): perl-Getopt-Long-2.40-3.el7.noarch.rpm | 56 kB 00:00:00
(13/32): perl-PathTools-3.40-5.el7.x86_64.rpm | 82 kB 00:00:00
(14/32): perl-Pod-Escapes-1.04-299.el7_9.noarch.rpm | 52 kB 00:00:00
(15/32): perl-Pod-Simple-3.28-4.el7.noarch.rpm | 216 kB 00:00:00
(16/32): perl-Pod-Usage-1.63-3.el7.noarch.rpm | 27 kB 00:00:00
(17/32): perl-Pod-Perldoc-3.20-4.el7.noarch.rpm | 87 kB 00:00:00
(18/32): perl-Socket-2.010-5.el7.x86_64.rpm | 49 kB 00:00:00
(19/32): perl-Scalar-List-Utils-1.27-248.el7.x86_64.rpm | 36 kB 00:00:00
(20/32): perl-TermReadKey-2.30-20.el7.x86_64.rpm | 31 kB 00:00:00
(21/32): perl-Text-ParseWords-3.29-4.el7.noarch.rpm | 14 kB 00:00:00
(22/32): perl-Storable-2.45-3.el7.x86_64.rpm | 77 kB 00:00:00
(23/32): perl-Time-HiRes-1.9725-3.el7.x86_64.rpm | 45 kB 00:00:00
(24/32): perl-macros-5.16.3-299.el7_9.x86_64.rpm | 44 kB 00:00:00
(25/32): perl-constant-1.27-2.el7.noarch.rpm | 19 kB 00:00:00
(26/32): perl-libs-5.16.3-299.el7_9.x86_64.rpm | 690 kB 00:00:00
(27/32): perl-Time-Local-1.2300-2.el7.noarch.rpm | 24 kB 00:00:00
(28/32): perl-parent-0.225-244.el7.noarch.rpm | 12 kB 00:00:00
(29/32): perl-podlators-2.5.1-3.el7.noarch.rpm | 112 kB 00:00:00
(30/32): perl-threads-1.87-4.el7.x86_64.rpm | 49 kB 00:00:00
(31/32): rsync-3.1.2-12.el7_9.x86_64.rpm | 408 kB 00:00:00
(32/32): perl-threads-shared-1.43-6.el7.x86_64.rpm | 39 kB 00:00:00
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计 6.7 MB/s | 16 MB 00:00:02
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction正在安装 : 1:perl-parent-0.225-244.el7.noarch 1/32 正在安装 : perl-HTTP-Tiny-0.033-3.el7.noarch 2/32 正在安装 : perl-podlators-2.5.1-3.el7.noarch 3/32 正在安装 : perl-Pod-Perldoc-3.20-4.el7.noarch 4/32 正在安装 : 1:perl-Pod-Escapes-1.04-299.el7_9.noarch 5/32 正在安装 : perl-Encode-2.51-7.el7.x86_64 6/32 正在安装 : perl-Text-ParseWords-3.29-4.el7.noarch 7/32 正在安装 : perl-Pod-Usage-1.63-3.el7.noarch 8/32 正在安装 : 4:perl-macros-5.16.3-299.el7_9.x86_64 9/32 正在安装 : perl-Storable-2.45-3.el7.x86_64 10/32 正在安装 : perl-Exporter-5.68-3.el7.noarch 11/32 正在安装 : perl-constant-1.27-2.el7.noarch 12/32 正在安装 : perl-Socket-2.010-5.el7.x86_64 13/32 正在安装 : perl-Time-Local-1.2300-2.el7.noarch 14/32 正在安装 : perl-Carp-1.26-244.el7.noarch 15/32 正在安装 : 4:perl-Time-HiRes-1.9725-3.el7.x86_64 16/32 正在安装 : perl-PathTools-3.40-5.el7.x86_64 17/32 正在安装 : perl-Scalar-List-Utils-1.27-248.el7.x86_64 18/32 正在安装 : 1:perl-Pod-Simple-3.28-4.el7.noarch 19/32 正在安装 : perl-File-Temp-0.23.01-3.el7.noarch 20/32 正在安装 : perl-File-Path-2.09-2.el7.noarch 21/32 正在安装 : perl-threads-shared-1.43-6.el7.x86_64 22/32 正在安装 : perl-threads-1.87-4.el7.x86_64 23/32 正在安装 : perl-Filter-1.49-3.el7.x86_64 24/32 正在安装 : 4:perl-libs-5.16.3-299.el7_9.x86_64 25/32 正在安装 : perl-Getopt-Long-2.40-3.el7.noarch 26/32 正在安装 : 4:perl-5.16.3-299.el7_9.x86_64 27/32 正在安装 : 1:perl-Error-0.17020-2.el7.noarch 28/32 正在安装 : perl-TermReadKey-2.30-20.el7.x86_64 29/32 正在安装 : rsync-3.1.2-12.el7_9.x86_64 30/32 正在安装 : perl-Git-1.8.3.1-25.el7_9.noarch 31/32 正在安装 : git-1.8.3.1-25.el7_9.x86_64 32/32 验证中 : perl-HTTP-Tiny-0.033-3.el7.noarch 1/32 验证中 : rsync-3.1.2-12.el7_9.x86_64 2/32 验证中 : perl-threads-shared-1.43-6.el7.x86_64 3/32 验证中 : perl-Storable-2.45-3.el7.x86_64 4/32 验证中 : perl-Exporter-5.68-3.el7.noarch 5/32 验证中 : perl-constant-1.27-2.el7.noarch 6/32 验证中 : perl-PathTools-3.40-5.el7.x86_64 7/32 验证中 : 4:perl-macros-5.16.3-299.el7_9.x86_64 8/32 验证中 : 1:perl-parent-0.225-244.el7.noarch 9/32 验证中 : perl-Socket-2.010-5.el7.x86_64 10/32 验证中 : perl-TermReadKey-2.30-20.el7.x86_64 11/32 验证中 : perl-File-Temp-0.23.01-3.el7.noarch 12/32 验证中 : 1:perl-Pod-Simple-3.28-4.el7.noarch 13/32 验证中 : git-1.8.3.1-25.el7_9.x86_64 14/32 验证中 : perl-Time-Local-1.2300-2.el7.noarch 15/32 验证中 : 1:perl-Pod-Escapes-1.04-299.el7_9.noarch 16/32 验证中 : perl-Carp-1.26-244.el7.noarch 17/32 验证中 : 1:perl-Error-0.17020-2.el7.noarch 18/32 验证中 : perl-Git-1.8.3.1-25.el7_9.noarch 19/32 验证中 : 4:perl-Time-HiRes-1.9725-3.el7.x86_64 20/32 验证中 : perl-Scalar-List-Utils-1.27-248.el7.x86_64 21/32 验证中 : perl-Pod-Usage-1.63-3.el7.noarch 22/32 验证中 : perl-Encode-2.51-7.el7.x86_64 23/32 验证中 : perl-Pod-Perldoc-3.20-4.el7.noarch 24/32 验证中 : perl-podlators-2.5.1-3.el7.noarch 25/32 验证中 : 4:perl-5.16.3-299.el7_9.x86_64 26/32 验证中 : perl-File-Path-2.09-2.el7.noarch 27/32 验证中 : perl-threads-1.87-4.el7.x86_64 28/32 验证中 : perl-Filter-1.49-3.el7.x86_64 29/32 验证中 : perl-Getopt-Long-2.40-3.el7.noarch 30/32 验证中 : perl-Text-ParseWords-3.29-4.el7.noarch 31/32 验证中 : 4:perl-libs-5.16.3-299.el7_9.x86_64 32/32 已安装:git.x86_64 0:1.8.3.1-25.el7_9 作为依赖被安装:perl.x86_64 4:5.16.3-299.el7_9 perl-Carp.noarch 0:1.26-244.el7 perl-Encode.x86_64 0:2.51-7.el7 perl-Error.noarch 1:0.17020-2.el7 perl-Exporter.noarch 0:5.68-3.el7 perl-File-Path.noarch 0:2.09-2.el7 perl-File-Temp.noarch 0:0.23.01-3.el7 perl-Filter.x86_64 0:1.49-3.el7 perl-Getopt-Long.noarch 0:2.40-3.el7 perl-Git.noarch 0:1.8.3.1-25.el7_9 perl-HTTP-Tiny.noarch 0:0.033-3.el7 perl-PathTools.x86_64 0:3.40-5.el7 perl-Pod-Escapes.noarch 1:1.04-299.el7_9 perl-Pod-Perldoc.noarch 0:3.20-4.el7 perl-Pod-Simple.noarch 1:3.28-4.el7 perl-Pod-Usage.noarch 0:1.63-3.el7 perl-Scalar-List-Utils.x86_64 0:1.27-248.el7 perl-Socket.x86_64 0:2.010-5.el7 perl-Storable.x86_64 0:2.45-3.el7 perl-TermReadKey.x86_64 0:2.30-20.el7 perl-Text-ParseWords.noarch 0:3.29-4.el7 perl-Time-HiRes.x86_64 4:1.9725-3.el7 perl-Time-Local.noarch 0:1.2300-2.el7 perl-constant.noarch 0:1.27-2.el7 perl-libs.x86_64 4:5.16.3-299.el7_9 perl-macros.x86_64 4:5.16.3-299.el7_9 perl-parent.noarch 1:0.225-244.el7 perl-podlators.noarch 0:2.5.1-3.el7 perl-threads.x86_64 0:1.87-4.el7 perl-threads-shared.x86_64 0:1.43-6.el7 rsync.x86_64 0:3.1.2-12.el7_9 完毕!
[root@docker docker]#
3.配置Golang环境并获取源码
[root@docker ~]# clear
[root@docker ~]# mkdir -p $GOPATH/src/github.com/docker/
[root@docker ~]# cd $GOPATH/src/github.com/docker/
[root@docker docker]# git clone https://github.com/docker/distribution.git
正克隆到 'distribution'...
remote: Enumerating objects: 37574, done.
remote: Counting objects: 100% (1623/1623), done.
remote: Compressing objects: 100% (1050/1050), done.
remote: Total 37574 (delta 684), reused 1362 (delta 531), pack-reused 35951
接收对象中: 100% (37574/37574), 31.91 MiB | 13.28 MiB/s, done.
处理 delta 中: 100% (19228/19228), done.
[root@docker docker]#
安装
- 将自带的模板配置文件复制到/etc/docker/registry/路径下,创建存储目录/var/lib/registry:
cd distribution
[root@docker distribution]# mkdir -p /etc/docker/registry
[root@docker distribution]# cp cmd/registry/config-dev.yml /etc/docker/registry/config.yml
[root@docker distribution]# mkdir -p /var/lib/registry
[root@docker distribution]#