博文目錄nginx
Registry和Harbor的區別git
Docker Harbor的優勢github
Docker Harbor依賴的程序redis
1、搭建Harbor倉庫docker
一、配置Docker Composejson
二、配置Docker Harbor公開倉庫vim
三、配置Docker客戶端centos
四、配置Docker Harbor私有倉庫瀏覽器
上一篇博文講到了Registry私有倉庫,今天配置一下Harbor倉庫,Harbor呢能夠做爲公開倉庫,也能夠做爲私有倉庫,今天就來配置一下Harbor如何實現公開倉庫和私有倉庫。tomcat
關於Registry公開倉庫請訪問博文:部署Docker私有倉庫Registry
Registry和Harbor的區別
Registry:是一個私有鏡像倉庫,圖形化支持較差,小型企業使用;
- Harbor:支持可視化管理,支持私有倉庫和公有倉庫,支持鏡像的管理控制;
Docker Harbor的優勢
VMWare公司的開源鏡像管理解決方案;
支持圖形化管理;
方便訪問和配置;
方便鏡像訪問控制;
支持鏡像負責策略;
- 審計統計用戶訪問鏡像使用狀況;
Docker Harbor依賴的程序
Python;
安裝Docker;
- Docker Compose;
案例描述:
兩臺CentOS7.4,一臺服務器端,一臺客戶端(測試使用);
- 兩臺服務器都要安裝Docker服務,我這裏Docker版本是19.03.9版本;
關於Docker容器的安裝請訪問:安裝Docker.v19。03.9版本
訪問道雲官網,找到安裝Docker Compose,複製命令到Docker服務器端:道雲
[root@centos01 ~]# curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose <!--下載Docker Compose--> [root@centos01 ~]# chmod +x /usr/local/bin/docker-compose <!--Docker Compose添加執行權限--> [root@centos01 ~]# docker-compose -v <!--查看Docker Compose版本--> docker-compose version 1.25.5, build 8a1c60f6
打開Github官網搜索harbor,再點擊goharbor/harbor,再點擊「releases」,根據本身所需,下載相應的版本,上傳至服務器(網址以下:https://github.com/goharbor/harbor/releases 也可下載在線安裝的包,我沒試過,可自行嘗試),以下:
harbor-online-installer-v1.9.1.tgz <!--上傳Harbor壓縮包--> [root@centos01 ~]# tar zxvf harbor-online-installer-v1.9.1.tgz -C /usr/local/ <!--解壓縮harbor到/usr/local/目錄--> [root@centos01 ~]# cd /usr/local/harbor/ <!--進入Harbor目錄--> [root@centos01 harbor]# cp harbor.yml harbor.yml.bak <!--備份Harbor主配置文件--> [root@centos01 harbor]# vim harbor.yml <!--修改Harbor主配置文件--> 5 hostname: 192.168.100.10 <!--修改成Docker服務器端IP地址便可--> <!--hostname能夠寫域名,不過域名還須要更改hosts文件或者安裝DNS,我這裏就用IP地址--> 8 http: <!--採用http協議--> 10 port: 80 <!--80端口號--> 27 harbor_admin_password: Harbor12345 <!--默認密碼,能夠自定義--> [root@centos01 harbor]# ./install.sh <!--安裝Harbor--> [Step 0]: checking installation environment ... Note: docker version: 19.03.9 Note: docker-compose version: 1.25.5 ……………… <!--此處省略部份內容--> Creating harbor-log ... done Creating registryctl ... done Creating redis ... done Creating harbor-portal ... done Creating registry ... done Creating harbor-db ... done Creating harbor-core ... done Creating nginx ... done Creating harbor-jobservice ... done ✔ ----Harbor has been installed and started successfully.---- Now you should be able to visit the admin portal at http://www.benet.com . For more details, please visit https://github.com/goharbor/harbor . <!--安裝完成出現以上代碼表示成功--> [root@centos01 ~]# vim /usr/lib/systemd/system/docker.service <!--編輯此配置文件--> 14 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry 192.168.100.10:80 <!--定位到此行,後面添加「--insecure-registr」以便指定Harbor的IP及其監聽端口--> [root@centos01 harbor]# systemctl daemon-reload <!--守護進程方式運行docker--> [root@centos01 harbor]# systemctl restart docker <!--從新啓動Docker服務--> [root@centos01 harbor]# docker-compose stop <!--中止全部容器--> [root@centos01 harbor]# docker-compose start <!--啓動全部容器--> [root@centos01 harbor]# netstat -anptu |grep 80 <!--監聽80端口--> tcp6 0 0 :::80 :::* LISTEN 23473/docker-proxy
[root@centos01 ~]# docker login -uadmin -pHarbor12345 192.168.100.10:80 <!--登陸Harbor倉庫--> WARNING! Using --password via the CLI is insecure. Use --password-stdin. WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded <!--出現此提示表示登陸成功--> [root@centos01 ~]# docker tag tomcat:latest 192.168.100.10:80/image/nginx:nginx <!--修改鏡像標籤--> [root@centos01 ~]# docker push 192.168.100.10:80/image/nginx:nginx <!--上傳鏡像到Harbor倉庫--> [root@centos01 ~]# docker logout 192.168.100.10:80 <!--Docker服務器退出Harbor--> Removing login credentials for 192.168.100.10:80
<!--Docker客戶端安裝Docker服務--> 1)修改配置文件加載Docker Harbor服務器 [root@centos02 ~]# vim /usr/lib/systemd/system/docker.service <!--編輯此配置文件--> ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry 192.168.100.10:80 <!--定位到此行,後面添加「--insecure-registr」以便指定Harbor的IP及其監聽端口--> [root@centos02 ~]# systemctl daemon-reload <!--守護進程運行docker--> [root@centos02 ~]# systemctl restart docker <!--從新啓動docker服務--> [root@centos02 ~]# docker login -uadmin -pHarbor12345 192.168.100.10:80 <!--docker客戶端登陸Harbor--> WARNING! Using --password via the CLI is insecure. Use --password-stdin. WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded <!--登陸成功--> [root@centos02 ~]# docker pull 192.168.100.10:80/image/nginx:nginx <!--docker客戶端下載Harbor公開倉庫中的鏡像--> [root@centos02 ~]# docker images <!--查看Docker客戶端鏡像--> REPOSITORY TAG IMAGE ID CREATED SIZE 192.168.100.10:80/image/nginx nginx 1b6b1fe7261e 7 days ago 647MB
[root@centos01 ~]# docker tag tomcat:latest 192.168.100.10:80/private/tomcat:tomcat <!--Docker服務器修改鏡像標籤--> [root@centos01 ~]# docker login -uprivate -pHarbor12345 192.168.100.10:80 <!--登陸Harbor私有倉庫--> WARNING! Using --password via the CLI is insecure. Use --password-stdin. WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded <!--登陸成功--> [root@centos01 ~]# docker push 192.168.100.10:80/private/tomcat:tomcat <!--上傳鏡像到private私有倉庫-->
[root@centos02 ~]# docker login -uprivate -pHarbor12345 192.168.100.10:80 <!--Docker客戶端登陸Harbor私有倉庫--> WARNING! Using --password via the CLI is insecure. Use --password-stdin. WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded <!--登陸成功--> [root@centos02 ~]# docker pull 192.168.100.10:80/private/tomcat:tomcat <!--Docker客戶端下載Harbor私有倉庫中的鏡像--> [root@centos02 ~]# docker images <!--Docker客戶端查看鏡像是否下載成功--> REPOSITORY TAG IMAGE ID CREATED SIZE 192.168.100.10:80/image/nginx nginx 1b6b1fe7261e 7 days ago 647MB 192.168.100.10:80/private/tomcat tomcat 1b6b1fe7261e 7 days ago 647MB
———————— 本文至此結束,感謝閱讀 ————————