docker搭建私有仓库

registry私有仓库

下载docker-distribution软件包

yum install epel-release
yum install docker-distribution

查看docker-distribution配置文件

[root@localhost registry]# vim /etc/docker-distribution/registry/config.yml 
version: 0.1                      #版本
log:
  fields:
    service: registry                #服务名称
storage:
    cache:
        layerinfo: inmemory
    filesystem:
        rootdirectory: /var/lib/registry      #镜像目录
http:
    addr: :5000                    #docker-distribution监听的端口

启动服务

[root@localhost registry]# systemctl restart docker-distribution

查看5000端口是否启动

[root@localhost registry]# ss -tnl
State       Recv-Q Send-Q              Local Address:Port                             Peer Address:Port              
LISTEN      0      128                             *:111                                         *:*                  
LISTEN      0      5                   192.168.122.1:53                                          *:*                  
LISTEN      0      128                             *:22                                          *:*                  
LISTEN      0      100                     127.0.0.1:25                                          *:*                  
LISTEN      0      128                            :::5000                                       :::*                  
LISTEN      0      128                            :::111                                        :::*                  
LISTEN      0      128                            :::22                                         :::*                  
LISTEN      0      100                           ::1:25                                         :::*   

查看本地镜像

[root@localhost registry]# docker images 
REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
myos                         latest              c14c79e9da64        4 weeks ago         466MB
centos                       latest              9f38484d220f        6 months ago        202MB

现在我们把centos这个镜像打上标签并且推送到registry中

[root@localhost registry]# docker tag centos 192.168.254.11:5000/centos:latest

[root@localhost registry]# docker push
192.168.254.11:5000/centos The push refers to repository [192.168.254.11:5000/centos] d69483a6face: Pushed latest: digest: sha256:ca58fe458b8d94bc6e3072f1cfbd334855858e05e1fd633aa07cf7f82b048e66 size: 529

查看registry服务器

[root@localhost repositories]# ls -ltr /var/lib/registry/docker/registry/v2/repositories
total 0
drwxr-xr-x. 5 root root 55 Sep 13 10:28 centos
drwxr-xr-x. 5 root root 55 Sep 13 10:48 mysql

镜像已经上传上来了,OK

客户端

如果客户端向拉取镜像需要在客户端编辑/etc/docker/daemon.json文件添加

[root@slave yum.repos.d]# cat /etc/docker/daemon.json 
{
    "registry-mirrors": ["https://l10nt4hq.mirror.aliyuncs.com"],
    "insecure-registries":["192.168.254.17:5000"]#写入register服务器的ip和端口号
}

然后在拉取镜像

[root@slave yum.repos.d]# docker images 
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
[root@slave yum.repos.d]# docker pull 192.168.254.17:5000/busybox:latest 
latest: Pulling from busybox
bdbbaa22dec6: Pull complete 
Digest: sha256:edafc0a0fb057813850d1ba44014914ca02d671ae247107ca70c94db686e7de6
Status: Downloaded newer image for 192.168.254.17:5000/busybox:latest
192.168.254.17:5000/busybox:latest
[root@slave yum.repos.d]# docker images 
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
192.168.254.17:5000/busybox   latest              6d5fcfe5ff17        6 weeks ago         1.22MB

 

harbor私有仓库

下载harbor包

wget https://storage.googleapis.com/harbor-releases/release-1.4.0/harbor-offline-installer-v1.4.0.tgz

解压包并进入目录

tar -zxvf harbor-offline-installer-v1.4.0.tgz -C /usr/local/
cd /usr/local/harbor

编辑配置文件

vim harbor.cfg 
   hostname = 192.168.254.13             #对外访问地址
   ui_url_protocol = http                #访问方式
   max_job_workers = 3                   #最大处理进程数
   customize_crt = on                    #是否要启动自定义证书,如果ui_url_protocol = http不生效,如果是https才会生效
  harbor_admin_password = Harbor12345 #admin用户的密码

执行文件

[root@master harbor]# ./install.sh
note:容器名字不能有registry这个名字,否则脚本执行失败

浏览器访问http://server_ip

 

创建项目

 

 创建仓库

修改访问地址

[root@master harbor]# vim /etc/docker/daemon.json 
{
    "registry-mirrors": ["https://l10nt4hq.mirror.aliyuncs.com"],
    "insecure-registries":["192.168.254.13"]
}

重启docker服务

[root@master harbor]# service docker restart
Redirecting to /bin/systemctl restart docker.service

 

在linux下登录harbor

 

 查看现有的镜像

[root@master harbor]# docker images 
REPOSITORY                                                        TAG                 IMAGE ID            CREATED             SIZE
registry.aliyuncs.com/google_containers/kube-proxy                v1.15.3             232b5c793146        3 weeks ago         82.4 MB
registry.aliyuncs.com/google_containers/kube-apiserver            v1.15.3             5eb2d3fc7a44        3 weeks ago         207 MB
registry.aliyuncs.com/google_containers/kube-scheduler            v1.15.3             703f9c69a5d5        3 weeks ago         81.1 MB
registry.aliyuncs.com/google_containers/kube-controller-manager   v1.15.3             e77c31de5547        3 weeks ago         159 MB
docker.io/mariadb                                                 latest              99c1098d5884        4 weeks ago         355 MB
docker.io/mysql                                                   latest              62a9f311b99c        4 weeks ago         445 MB
quay.io/coreos/flannel                                            v0.11.0-amd64       ff281650a721        7 months ago        52.6 MB
registry.aliyuncs.com/google_containers/coredns                   1.3.1               eb516548c180        8 months ago        40.3 MB
registry.aliyuncs.com/google_containers/etcd                      3.3.10              2c4adeb21b4f        9 months ago        258 MB
vmware/clair-photon                                               v2.0.1-v1.4.0       a1df3526fe43        19 months ago       300 MB
vmware/notary-server-photon                                       v0.5.1-v1.4.0       3edfddb8ece2        19 months ago       211 MB
vmware/notary-signer-photon                                       v0.5.1-v1.4.0       cc70a05cdb6a        19 months ago       209 MB
vmware/registry-photon                                            v2.6.2-v1.4.0       8920f621ddd1        19 months ago       198 MB
vmware/nginx-photon                                               v1.4.0              20c8a01ac6ab        19 months ago       135 MB
vmware/harbor-log                                                 v1.4.0              9e818c7a27ab        19 months ago       200 MB
vmware/harbor-jobservice                                          v1.4.0              29c14d91b043        19 months ago       191 MB
vmware/harbor-ui                                                  v1.4.0              6cb4318eda6a        19 months ago       210 MB
vmware/harbor-adminserver                                         v1.4.0              8145970fa013        19 months ago       182 MB
vmware/harbor-db                                                  v1.4.0              c38da34727f0        19 months ago       521 MB
vmware/mariadb-photon                                             v1.4.0              8457013cf6e3        19 months ago       521 MB
vmware/postgresql-photon                                          v1.4.0              59aa61520094        19 months ago       221 MB
vmware/harbor-db-migrator                                         1.4                 7a4d871b612e        20 months ago       1.15 GB
vmware/photon                                                     1.0                 9b411d78ad9e        20 months ago       130 MB
registry.aliyuncs.com/google_containers/pause                     3.1                 da86e6ba6ca1        21 months ago       742 kB

给要上传的包打标签

[root@master harbor]# docker tag docker.io/mysql:latest 192.168.254.13/databases/mysql:v1

上传镜像

[root@master harbor]# docker push 192.168.254.13/databases/mysql:v1
The push refers to a repository [192.168.254.13/databases/mysql]
647229410363: Pushed 
5b96d5043191: Pushed 
79a46f1eb9d0: Pushed 
bdebd19e878f: Pushed 
995fa4bb8afe: Pushed 
bb1ef34119b2: Pushed 
65430c57aee2: Pushed 
1dd5f3e365cf: Pushed 
7f33ce1066af: Pushed 
9f77b78f01a7: Pushed 
f5741d086b76: Pushed 
8fa655db5360: Pushed 
v1: digest: sha256:f0392b61ae096aef93b25f4b88206d774d2de1a7e43a7780a59a0c319c540b79 size: 2828

浏览器查看harbor

 已经上传成功,ok

补充

开启或关闭harbor:

docker-compose up -d
docker-compose stop

 

posted @ 2019-09-13 11:35  力王7314  阅读(726)  评论(0编辑  收藏  举报