1、前沿mysql
docker的官方鏡像倉庫registry,功能比較單一,不太好用,特別是刪除鏡像操做,不夠友好。nginx
Harbor是一個用於存儲和分發Docker鏡像的企業級Registry服務器,經過添加一些企業必需的功能特性,sql
例如安全、標識和管理等,擴展了開源Docker Distribution。做爲一個企業級私有Registry服務器,docker
Harbor提供了更好的性能和安全。提高用戶使用Registry構建和運行環境傳輸鏡像的效率。json
Harbor支持安裝在多個Registry節點的鏡像資源複製,鏡像所有保存在私有Registry中,vim
確保數據和知識產權在公司內部網絡中管控。另外,Harbor也提供了高級的安全特性,諸如用戶管理,訪問控制和活動審計等。安全
安裝環境:服務器
1 Linux UbuntuServer 4.4.0-103-generic #126-Ubuntu SMP Mon Dec 4 16:23:28 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 2 Docker version 17.09.1-ce, build 19e2cf6 3 docker-compose version 1.17.1, build 6d101fb
2、安裝docker(略)網絡
3、安裝docker-compose(略)tcp
4、安裝Harbor
下載Harbor
wget http://harbor.orientsoft.cn/harbor-v1.3.0/harbor-offline-installer-v1.3.0.tgz
解壓
tar -xzvf harbor-offline-installer-v1.3.0.tgz
獲得安裝配置文件
這裏使用HTTP Insecure Registry。
打開harbor.cfg,修改hostname = 本機ip:端口,默認是80端口,若是80被佔用,則須要換端口,好比hostname = 10.0.3.16:7077,
同時打開docker-compose.yml,修改ngxin的轉發端口,好比:
proxy: image: vmware/nginx-photon:1.11.13 container_name: nginx restart: always volumes: - ./common/config/nginx:/etc/nginx:z networks: - harbor ports: - 7077:80 - 4433:4433 - 4443:4443 depends_on: - mysql - registry - ui - log logging: driver: "syslog" options: syslog-address: "tcp://127.0.0.1:1514" tag: "proxy"
而後保存,啓動Harbor:
./install.sh
查看各容器狀態:
docker-compose ps
確保各容器狀態都在「up」,便可訪問管理界面http://10.0.3.16:7077
各容器的日誌記錄在:/var/log/harbor/
用戶名admin,密碼:Harbor12345,配置文件harbor.cfg裏有。
5、嘗試上傳和拉取鏡像
登錄Harbor以後,建立一個項目,並選擇「公開」:
能夠看到此時項目裏沒有鏡像:
如今上傳一個鏡像,上傳以前因爲Harbor使用的HTTP Insecure Registry模式,因此須要設置docker容許使用Insecure Registry。
vim /etc/docker/daemon.json
寫入insecure-registries
{ "registry-mirrors": ["https://registry.docker-cn.com"], "insecure-registries": [ "10.0.3.16:7077" ] }
重啓docker:
1 systemctl daemon-reload 2 systemctl restart docker
上傳一個修改過的busybox:
1 docker pull busybox 2 docker tag busybox 10.0.3.16:7077/myregistry/busybox:v1.0 3 docker login 10.0.3.16:7077 # 用戶名:admin,密碼:Harbor12345 4 docker push 10.0.3.16:7077/myregistry/busybox:v1.0
能夠看到Harbor倉庫裏面已經有了:
換一臺機器,嘗試拉取:
docker pull 10.0.3.16:7077/myregistry/busybox:v1.0
也是能夠的。
6、參考:
https://blog.csdn.net/nklinsirui/article/details/87924176
Harbor各版本:http://harbor.orientsoft.cn/