Harbor私有镜像仓库(上)

一,Harbor简介

  • Vmware的开源项目https://github.com/VMware/harbor

  • Harbor可帮助用户迅速搭建企业级的注册服务,它提供了管理图形界面,基于角色的访问控制(Role Based Access Control),镜像远程复制(同步),AD/LDAP集成,以及审计日志等企业用户需求的功能,同时还原支持中文,深受中国用户的喜爱

  • 该项目自推出一来,在GitHub获得了超过3300多个star和900多个forks.

 

1.1 基于角色的访问控制

用户与Docker镜像仓库通过"项目"进行组织管理,一个用户可以对多个镜像仓库在统一命名空间(projec)里有不同的权限

 

1.2 图形化用户界面

用户可以通过浏览器来浏览,检索当前Docker镜像仓库,管理项目和命名空间

 

1.3 审计管理

所有针对镜像仓库的错做都可以被记录追溯,用于审计管理

 

1.4 国际化

基于英文与中文语言进行了本地化.可以增加更多的语言支持.

 

1.5 RESTful API:

提供给管理员对于Harbor更多的操控,使得与其他管理软件集成变得更容易.

 

1.6 LDAP认证

 

1.7 镜像复制

基于策略的Docker镜像复制功能,可在不同的数据中心,不同的运行环境之间同步镜像,并提供友好的管理界面,大大简化了实际运维中的镜像管理工作.

 

1.8 与Clair集成

与Clair集成,添加漏洞扫描功能,CLair是coreos开源的容器漏洞扫描工具,在容器逐渐普及的今天,容器镜像安全问题日益严重,Clair是目前少数的开源安全扫描工具.

 

1.9 Notary签名工具

Notary是Docker镜像的签名工具,用来保证镜像在pull,push和传输工程中的一致性和完整性,避免中间人攻击,避免非法的镜像更新和运行.

 

二,为Harbor签发域名证书

openssl是目前最流行的SSl密码库工具,提供了一个通用,功能完备的工具套件,用以支持SSL/TLS协议的实现.官网:https://www.openssl.org/source/

 

环境准备

官方文档: https://github.com/vmware/harbor/blob/master/docs/configure_https.md

主机名IP用途最小资源配比最佳资源配比
harbor-master 192.168.200.70 harbor私有镜像仓库 2CPU-4GBMEM 4CPU-8GBMEM
harbor-slave 192.168.200.109 harbor从库 2CPU-4GBMEM 4CPU-8GBMEM

hostname -I

uname -r

cat /etc/redhat-release

image_1d0jm8jt9j0v1ec3179q1p33nuas.png-20.6kB

 

创建自己的CA证书

mkdir -p /data/ssl

cd /data/ssl

which openssl

openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt

 
  1. Generating a 4096 bit RSA private key
  2. ............................................................................................++
  3. ......++
  4. writing new private key to 'ca.key'
  5. -----
  6. You are about to be asked to enter information that will be incorporated
  7. into your certificate request.
  8. What you are about to enter is what is called a Distinguished Name or a DN.
  9. There are quite a few fields but you can leave some blank
  10. For some fields there will be a default value,
  11. If you enter '.', the field will be left blank.
  12. -----
  13. Country Name (2 letter code) [XX]:CN #国家
  14. State or Province Name (full name) []:Beijing #地区
  15. Locality Name (eg, city) [Default City]:Beijing #城市
  16. Organization Name (eg, company) [Default Company Ltd]:yunjisuan #公司名称
  17. Organizational Unit Name (eg, section) []:yunjisuan
  18. Common Name (eg, your name or your server's hostname) []:www.yunjisuan.com
  19. Email Address []: #回车

image_1d0jmel7vg3nol514l2q5vp382i.png-77.9kB

 

生成证书签名请求

openssl req -newkey rsa:4096 -nodes -sha256 -keyout www.yunjisuan.com.key -out www.yunjisuan.com.csr

 
  1. Generating a 4096 bit RSA private key
  2. ...........................................................................................................................................................................................................++
  3. ..................................................................................................................................................................................++
  4. writing new private key to 'www.yunjisuan.com.key'
  5. -----
  6. You are about to be asked to enter information that will be incorporated
  7. into your certificate request.
  8. What you are about to enter is what is called a Distinguished Name or a DN.
  9. There are quite a few fields but you can leave some blank
  10. For some fields there will be a default value,
  11. If you enter '.', the field will be left blank.
  12. -----
  13. Country Name (2 letter code) [XX]:CN
  14. State or Province Name (full name) []:Beijing
  15. Locality Name (eg, city) [Default City]:Beijing
  16. Organization Name (eg, company) [Default Company Ltd]:yunjisuan
  17. Organizational Unit Name (eg, section) []:yunjisuan
  18. Common Name (eg, your name or your server's hostname) []:www.yunjisuan.com
  19. Email Address []:
  20. Please enter the following 'extra' attributes
  21. to be sent with your certificate request
  22. A challenge password []:
  23. An optional company name []:
  24. [root@harbor-master ssl]#

image_1d0jmh56s162uu2bn141lnu1rjs3v.png-79.8kB

 

生成注册表主机的证书

openssl x509 -req -days 365 -in www.yunjisuan.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out www.yunjisuan.com.crt

 
  1. Signature ok
  2. subject=/C=CN/ST=Beijing/L=Beijing/O=yunjisuan/OU=yunjisuan/CN=www.yunjisuan.com
  3. Getting CA Private Key

image_1d0jmqosqfjb1090j7c1e7e17rd9.png-24.2kB

 

查看证书情况

ls

 
  1. ca.crt ca.srl www.yunjisuan.com.csr
  2. ca.key www.yunjisuan.com.crt www.yunjisuan.com.key

image_1d0jmr5ll12le18cr1u601lb31npm.png-12.5kB

 

三,信任自签发的域名证书

由于CA证书是我们自己签发的Linux操作系统是不信任的,因此我们需要把证书加入到系统的信任证书里

 

将自签ca证书添加到系统信任

pwd

cp www.yunjisuan.com.crt /etc/pki/ca-trust/source/anchors/ --->复制到这个下面是让本机先信任这个证书

image_1d0jmskje4e31v5sj0o11un10tv13.png-15.4kB

 

让系统ca信任设置立即生效

update-ca-trust enable

update-ca-trust extract

image_1d0jn1rm0cic164j5bespuvk850.png-12kB

 

四,Harbor1.4版本配置与安装

 

4.1 安装docker-ce社区版(master和slave都安)

 

安装依赖包

yum -y install yum-utils device-mapper-persistent-data lvm2

image_1d0jn6a8qubn1laf1ae9qrr1vsf7a.png-151.7kB

 

添加docker的CE版本的yum源配置文件

curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo

ll /etc/yum.repos.d/docker-ce.repo

image_1d0jn8cq2aulfos1kgm189utjf8n.png-30.9kB

 

安装CE版本的docker

yum -y install docker-ce

systemctl start docker #启动docker

systemctl enable docker #添加开机启动

docker version #查看docker版本

which docker

image_1d0jnebabg9l1bkn19pv13c8bjj94.png-130.4kB

 

看一眼子防火墙的状态(提前安装过docker得话需要重启docker)

sestatus -->防火墙什么的都关上! 过程略

image_1d0jnvopo3c71i2c1n2va2qbqdah.png-10.7kB

 

4.2 下载并安装harbor私有仓库

 

harbor所有包

链接:https://pan.baidu.com/s/1MSfSWLBsUrvXv3USv233Cg 
提取码:zmom

 

创建harbor的证书目录,并复制

mkdir -p /etc/ssl/harbor

cp /data/ssl/www.yunjisuan.com.key /etc/ssl/harbor/

cp /data/ssl/www.yunjisuan.com.crt /etc/ssl/harbor/

ll /etc/ssl/harbor/

image_1d0jo0orinir1rmf15qk11hpr10au.png-30.2kB

 

创建harbor下载目录并下载harbor-offline-installer-v1.5.0.tgz

mkdir -p /data/install

cd /data/install

pwd

which wget --->这里没有wget下载,上文有下载链接

wget http://harbor.orientsoft.cn/harbor-v1.5.0/harbor-offline-installer-v1.5.0.tgz

ls

tar xf harbor-offline-installer-v1.5.0.tgz

ls

cd harbor

ll

cp harbor.cfg{,.bak}

image_1d0jockbomh43k7g6ftnh4r2fq.png-88.2kB

 

修改harbor.cfg配置文件

cat -n harbor.cfg | sed -n '7p;11p;23p;24p;68p'

 
  1. 7 hostname = reg.mydomain.com #要修改成我们证书的域名
  2. 11 ui_url_protocol = http #启用加密传输协议https
  3. 23 ssl_cert = /data/cert/server.crt #证书的位置
  4. 24 ssl_cert_key = /data/cert/server.key #证书密钥位置
  5. 68 harbor_admin_password = Harbor12345 #默认管理员及密码

image_1d0jognuc1u3r1mrv15as14fa7ghgn.png-23.2kB

 

修改成如下配置

vim harbor.cfg

cat -n harbor.cfg | sed -n '7p;11p;23p;24p;68p'

 
  1. 7 hostname = www.yunjisuan.com
  2. 11 ui_url_protocol = https
  3. 23 ssl_cert = /etc/ssl/harbor/www.yunjisuan.com.crt
  4. 24 ssl_cert_key = /etc/ssl/harbor/www.yunjisuan.com.key
  5. 68 harbor_admin_password = Harbor12345

image_1d0jojmh0bf61lv7gig16e5iahhk.png-28.2kB

 

安装命令docker-compose(需要1.21版本)

curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-(uname -m) -o /usr/local/bin/docker-compose --->上文有下载链接

cd /usr/local/bin/

ll /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

which docker-compose

docker-compose --version

image_1d0josedq1jeg1e7h1n4qnrr1pcakh.png-33.3kB

 

安装harbor私有镜像仓库

cd /data/install/harbor

./install.sh --with-notary --with-clair

 
  1. #--with-notary启用镜像签名; --with-clair启用漏洞扫描

image_1d0jotetkajn1mr71gitt5v1nvoku.png-24.4kB

 

查看harbor启动的镜像

docker ps -a

 
  1. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  2. be5fcf3a1930 vmware/harbor-jobservice:v1.5.0 "/harbor/start.sh" About a minute ago Up 50 seconds harbor-jobservice
  3. ad2f90bb84c3 vmware/nginx-photon:v1.5.0 "nginx -g 'daemon of…" About a minute ago Up About a minute (healthy) 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp nginx
  4. d782fcc8ce01 vmware/notary-server-photon:v0.5.1-v1.5.0 "/bin/server-start.sh" About a minute ago Up About a minute notary-server
  5. a8edc1ccca5f vmware/clair-photon:v2.0.1-v1.5.0 "/docker-entrypoint.…" About a minute ago Up 46 seconds (healthy) 6060-6061/tcp clair
  6. edb4a9a4c11e vmware/harbor-ui:v1.5.0 "/harbor/start.sh" About a minute ago Up About a minute (healthy) harbor-ui
  7. 2db41616f8e3 vmware/notary-signer-photon:v0.5.1-v1.5.0 "/bin/signer-start.sh" About a minute ago Up About a minute notary-signer
  8. fa7b3e5f6f24 vmware/postgresql-photon:v1.5.0 "/entrypoint.sh post…" About a minute ago Up About a minute (healthy) 5432/tcp clair-db
  9. 1401200b682e vmware/harbor-adminserver:v1.5.0 "/harbor/start.sh" About a minute ago Up About a minute (healthy) harbor-adminserver
  10. 0b37da8995e3 vmware/redis-photon:v1.5.0 "docker-entrypoint.s…" About a minute ago Up About a minute 6379/tcp redis
  11. aab6d323c577 vmware/harbor-db:v1.5.0 "/usr/local/bin/dock…" About a minute ago Up About a minute (healthy) 3306/tcp harbor-db
  12. bfbdb8a623e4 vmware/registry-photon:v2.6.2-v1.5.0 "/entrypoint.sh serv…" About a minute ago Up About a minute (healthy) 5000/tcp registry
  13. f29345823b5a vmware/mariadb-photon:v1.5.0 "/usr/local/bin/dock…" About a minute ago Up About a minute 3306/tcp notary-db
  14. 3756f90a2271 vmware/harbor-log:v1.5.0 "/bin/sh -c /usr/loc…" About a minute ago Up About a minute (healthy) 127.0.0.1:1514->10514/tcp harbor-log

image_1d0jp98fh1bq21j2kelt8rd5nuob.png-137.2kB

 

4.3 通过浏览器进行访问测试(需要火狐浏览器才能跳过)

https://192.168.200.70

输入账号密码登录:admin harbor12345

image_1d0jpidik1cavk891foo1gkrd9coo.png-95.1kB


image_1d0jpitngc59ou310sr2gc1fatp5.png-92.2kB

 

4.4 做一些安全设置

image_1d0jpkehc14qb61u1jcn1rfq739pi.png-84.1kB


image_1d0jpl4uvj16em319ltor088vpv.png-92.1kB


image_1d0jps0mf58iott1lbfscfpkosb.png-119.7kB

 

4.5 本地docker上传测试

 

先做映射

vim /etc/hosts

cat /etc/hosts

image_1d0jpvjopemrbvq2ct75912a3t8.png-20.6kB

 

用docker登录(只能域名访问,IP是加密的不认识)

docker login www.yunjisuan.com

admin Harbor12345

image_1d0jq122u6jg2j1n7f13pl12fstl.png-28kB

 

也可以面交互登录

docker login -uadmin -pHarbor12345 www.yunjisuan.com

image_1d0jq48ef19ep18u91ijb1brm9miv2.png-30.1kB

 

先得把镜像改名加路径(就是相当于添加)

docker pull centos

docker images

docker tag centos:latest www.yunjisuan.com/library/centos:v1

docker images

docker push www.yunjisuan.com/library/centos:v1

image_1d0jqanpr1dqe16p711pgoaf13p211f.png-118kB


image_1d0jqdhg51d41ej7svb88bl4u12c.png-23.3kB

 

刷新页面,然后查看就有了

image_1d0jqfkg24sal8hvornbf18l913p.png-90.6kB


image_1d0jqgelj2igkr913vk1ae9m35146.png-90.7kB


image_1d0jqhel3o0hgev1a5d873ofh14j.png-97.9kB


image_1d0jqkcic1p2vrfuf361tgm63v150.png-106.9kB

 

在slave服务器上访问并下载私有镜像仓库里刚上传的那个镜像

 

先映射

echo "192.168.200.70 www.yunjisuan.com" >> /etc/hosts --->映射的是Harbor的那台

cat /etc/hosts

image_1d0jqn4fs103krkskivva0q19160.png-27.9kB

 

然后把主的那个证书复制过去并立即生效

cd /data/ssl

ls

scp www.yunjisuan.com.crt 192.168.200.109:/etc/pki/ca-trust/source/anchors/

image_1d0jqqbt21876109imu040b1vvn16d.png-62.3kB


update-ca-trust enable

update-ca-trust extract

image_1d0jr4lqfjbu873i6svsjnd318s.png-11.9kB

 

重启docker否则没有用

systemctl restart docker

docker login -uadmin -pHarbor12345 www.yunjisuan.com

image_1d0jr8pr4sld1o4h12i8m5n158q1bf.png-33.2kB

 

下载私有镜像仓库里的那个刚刚上传的镜像文件

docker pull www.yunjisuan.com/library/centos:v1

docker images

image_1d0jrb3aonl116714ca1389vim1cf.png-38.5kB

 

五,镜像管理与安全:漏洞扫描和镜像签名

 

5.1 添加docker国内公有镜像源

vim /etc/docker/daemon.json

cat /etc/docker/daemon.json

 
  1. {
  2. "registry-mirrors":[ "https://registry.docker-cn.com" ]
  3. }

systemctl daemon-reload

systemctl restart docker

 

5.2 重新启动Harbor私有镜像仓库

 

让harbor修改过的配置立刻生效

 
  1. [root@harbor-master harbor]# pwd
  2. /data/install/harbor
  3. [root@harbor-master harbor]# ./prepare
 

清理所有harbor容器进程

 
  1. [root@harbor-master harbor]# docker-compose down
 

后台重新启动所有harbor容器进程

 
  1. [root@harbor-master harbor]# docker-compose up -d
  2. **docker-compose命令必须在/data/install/harbor目录下使用,否则找不到**
 

5.3 FAQ:问题解答

 

5.3.1 windows10最新版本默认拒绝非认证的域名证书

如果启动harbor采用https加密证书的方式,最新版本window10浏览器访问的化,默认会直接说"站点不安全,拒绝连接" 
那么我们可以采用非https的方式启动harbor

 
  1. [root@harbor-master harbor]# sed -n '11p' /data/install/harbor/harbor.cfg

但是我们要是采用非https加密方式启动harbor的化,最新版本的docker是登录不了的,这是因为新版本docker默认是以https方式登录harbor

image_1ctv5qn8rht81jhvcpm1vfhm0i7v.png-38.6kB

为了解决登录问题,我们需要在/etc/docker/下创建一个daemon.json名字的文件,加入http方式登录的harbor域名

 
  1. [root@harbor-slave ~]# cat /etc/docker/daemon.json
  2. {
  3. "insecure-registries":[ "www.yunjisuan.com" ]
  4. }
  5. [root@harbor-slave ~]# systemctl restart docker #需要重启

然后就能登录成功了

 

六,harbor镜像的复制与同步

harbor私有仓库的主从复制,类似于MySQL,属于1对多的复制

主机名IP用途最小资源配比最佳资源配比
harbor-master 192.168.200.70 harbor私有镜像仓库 2CPU-4GBMEM 4CPU-8GBMEM
harbor-slave 192.168.200.109 harbor从库 2CPU-4GBMEM 4CPU-8GBMEM
 

6.1 部署Harbor-Slave

请安装一个harbor私有仓库作为harbor的从库,域名为www2.yunjisuan.com

请看上文master部署步骤

 

主找从所以把证书给主一份

cd /data/ssl

ls

scp www2.yunjisuan.com.crt 192.168.200.70:/etc/pki/ca-trust/source/anchors/

image_1d0k0j4gf4rv89t1usil2d1klp1cs.png-62.9kB

 

然后主得立即生效并重启dcoker.然后harbor还得重启启动进程

cd /data/install/harbor

update-ca-trust enable

update-ca-trust extract

systemctl restart docker

docker-compose down --->必须在harbor目录里(/data/install/harbor)

./prepare

./install.sh --with-clair

image_1d0k2c5bme1p1mu5n0s1fnb1alu1kv.png-143.7kB


image_1d0k2eo48fir1ccpdn5pa117bm1lc.png-136.2kB

 

在主上做映射

vim /etc/hosts

cat /etc/hosts

image_1d0k10n0k1tr879v3p36om1asu1eg.png-23.7kB

 

查看网页主从情况

image_1d0k0kd26n1c1g9t5fvolr1mmk1d9.png-92.2kB


image_1d0k0kpps62p1pc01qgv1672vj1dm.png-93.3kB

 

6.2 搭建LDNS域名解析服务器

主机名IP用途最小资源配比最佳资源配比
harbor-master 192.168.200.70 harbor私有镜像仓库 2CPU-4GBMEM 4CPU-8GBMEM
harbor-slave 192.168.200.109 harbor从库 2CPU-4GBMEM 4CPU-8GBMEM
LDNS 192.168.200.110 本地DNS    

yum -y install bind bind-chroot bind-utils

cd /etc/

cp named.conf{,.bak}

image_1d0k16mhu4pn136k10311ljb1jdo1et.png-163.8kB

 

把配置文件修改成如下:

vim named.conf

cat named.conf

 
  1. options {
  2. listen-on port 53 { 192.168.200.110; }; #监听本机IP地址
  3. // listen-on-v6 port 53 { ::1; }; #注释掉
  4. directory "/var/named";
  5. dump-file "/var/named/data/cache_dump.db";
  6. statistics-file "/var/named/data/named_stats.txt";
  7. memstatistics-file "/var/named/data/named_mem_stats.txt";
  8. allow-query { any; }; #any允许任意客户端
  9. forwarders { 192.168.200.2; }; #加一段话,网关的位置
  10. recursion yes;
  11. dnssec-enable no; #改成no不验证
  12. dnssec-validation no; #改成no不验证
  13. /* Path to ISC DLV key */
  14. bindkeys-file "/etc/named.iscdlv.key";
  15. managed-keys-directory "/var/named/dynamic";
  16. pid-file "/run/named/named.pid";
  17. session-keyfile "/run/named/session.key";
  18. };
  19. logging {
  20. channel default_debug {
  21. file "data/named.run";
  22. severity dynamic;
  23. };
  24. };
  25. zone "." IN {
  26. type hint;
  27. file "named.ca";
  28. };
  29. zone "yunjisuan.com" IN { #加一个维护域名
  30. type master; #类型
  31. file "yunjisuan.com.zone"; #域名文件
  32. }; #内容
  33. include "/etc/named.rfc1912.zones";
  34. include "/etc/named.root.key";

image_1d0k4ia6p1q6sre1tdhnhsrue1se.png-101.3kB


image_1d0k3j8pk13vc1bf0p26qfa16h11rh.png-60.7kB

 

检查配置文件是否有错

named-checkconf /etc/named.conf

image_1d0k1cmj81e2r142ni4810h6p281gk.png-8.9kB

 

创建正向解析文件

cd /var/named/

ls

cp -p named.empty yunjisuan.com.zone

image_1d0k1ehv717brln71b4k1vfdntu1hh.png-30kB

 

把yunjisuan.com.zone修改成如下

vim yunjisuan.com.zone

cat yunjisuan.com.zone

 
  1. $TTL 1D
  2. @ IN SOA yunjisuan.com. root.ns1.yunjisuan.com. (
  3. 0 ; serial
  4. 1D ; refresh
  5. 1H ; retry
  6. 1W ; expire
  7. 3H ) ; minimum
  8. NS ns1.yunjisuan.com.
  9. ns1 A 192.168.200.110 #LDNS的IP地址,也就是自己
  10. www A 192.168.200.70 #harbor主的ip地址
  11. www2 A 192.168.200.109 #harbor从的ip地址

image_1d0k1g31slhl1eovfrmkt7nc1ie.png-30.8kB

 

测试正向解析文件是否有错

named-checkzone yunjisuan.com yunjisuan.com.zone

image_1d0k1gf2812r31u321sn1rbhbr01ir.png-13.7kB

 

启动域名解析服务

systemctl start named

ss -antup | grep named

image_1d0k1h9qtu041ltkjmakh4e941jo.png-46.8kB

 

改一下DNS改成自己本机

vim /etc/resolv.conf

cat /etc/resolv.conf

 
  1. #nameserver 192.168.200.2
  2. nameserver 192.168.200.110

image_1d0k1j0dr1d0h98r11945td17nm1k5.png-21.3kB

 

用nslookup域名解析命令测试一下

nslookup www.yunjisuan.com

nslookup www2.yunjisuan.com

nslookup www.baidu.com

image_1d0k1m2n61b51uei31516l0uk41ki.png-55.9kB

 

6.3 建立主从复制

然后开始建立主从复制

image_1d0k2gvcj1tq31p231s9t1mrfb3u1lp.png-82.5kB


目前测试连接失败,没关系,我们先点击确定把这个保存一下

image_1d0k2jnpbcq1tr6u5h1j4cjar1m6.png-108.5kB

 

先清空一下日志

cd /var/log/harbor/

ls

> ui.log

image_1d0k2l0qe67qnd21l79iv056i1mj.png-24.1kB

 

然后在点击一下测试连接之后查看日志

cat ui.log

image_1d0k2n9o214s9m6j1a182u17el1n0.png-63.9kB

因此发现,Harbor的主从复制是不找本地的hosts文件的,映射了也没有用. 它直接找DNS

 

把主的DNS改成LDNS服务器的IP

vim /etc/resolv.conf

cat /etc/resolv.conf

 
  1. nameserver 192.168.200.110

image_1d0k2p516ecutursfk1jug14961nd.png-21.9kB

 

然后得重启harbor否则也不行 ,因为它读到缓存去了。

cd /data/install/harbor

docker-compose down --->需要在harbor目录下(/data/install/harbor)

./prepare

./install.sh --with-clair

image_1d0k2rtge16vah1l1ttag1s132p1nq.png-145kB


image_1d0k30cga13ob1gl71esa11mpumm1o7.png-111.8kB

 

刷新网页,在测试连接

image_1d0k52chhb1m73r1qo36sd199t1vb.png-114.2kB

 

6.4启用主从复制

image_1d0k56r4b13sgup7lf8ok12ql205.png-83.2kB


image_1d0k5537b183hlpp10of1i6urf01vo.png-172.1kB


image_1d0k59a21gke1278173cak0rg920i.png-114.8kB

 

在看从的,就把镜像复制过去了 一开始没有任何镜像的

image_1d0k5ahlp1t521jl61e8f1lqbvch20v.png-92.4kB

 

在上传一个镜像 看看效果

docker pull hello-world

docker images

docker tag hello-world:latest www.yunjisuan.com/library/hello-world:v1

image_1d0k5kjsj1754cap1dalv4617f421c.png-149kB

REPOSITORY TAG IMAGE ID CREATED SIZE 
centos latest 75835a67d134 8 weeks ago 200MB 
www.yunjisuan.com/library/centos v1 75835a67d134 8 weeks ago 200MB 
hello-world latest 4ab4c602aa5e 2 months ago 1.84kB 
www.yunjisuan.com/library/hello-world v1 4ab4c602aa5e 2 months ago 1.84kB

 

上传

[root@wbq-harbor-master harbor]# docker push www.yunjisuan.com/library/hello-world:v1 
The push refers to repository [www.yunjisuan.com/library/hello-world] 
428c97da766c: Pushed 
v1: digest: sha256:1a6fd470b9ce10849be79e99529a88371dff60c60aab424c077007f6979b4812 size: 524

image_1d0k5l2vud2co24sr28m1r3h21p.png-24.6kB

 

主的已经是2个镜像了

image_1d0k5m3g01b0qkuf1j2aoa71d93226.png-96.1kB


image_1d0k5nji21ek61pcr112ob7r6i3230.png-122.9kB

 

在看从的也变成2个镜像了

image_1d0k5msnc104b16kl14uh1l2k18pf22j.png-96kB

这样主从复制就搭建完成了

posted @ 2019-07-24 15:37  L1n  阅读(6673)  评论(0编辑  收藏  举报