我最新最全的文章都在 南瓜慢說 www.pkslow.com ,歡迎你們訪問!
Harbor
是一個由CNCF
託管的開源的Docker
鏡像倉庫管理工具,咱們能夠經過它快速的創建起本身的私有倉庫。固然,搭建私有倉庫的選擇不少,如Docker
官方提供的registry
鏡像或者Nexus
等。但Harbor
不失爲一種不錯的選擇。nginx
Harbor
的安裝方式也不少,如經過命令行安裝、Helm
安裝等,本文演示經過命令行的腳本安裝。git
首先Docker
是要安裝的,Harbor
是經過一堆容器來啓動的。另外還須要安裝docker-compose
,並對版本有必定要求,這裏經過在Rancher
的資源庫找到軟件包,配置一下便可:github
安裝Docker-compose
:docker
wget http://rancher-mirror.cnrancher.com/docker-compose/v1.27.4/docker-compose-Linux-x86_64 mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose chmod a+x /usr/local/bin/docker-compose
先到GitHub Release下載對應的包,有offline
和online
兩種,offline
比較大,包含的對應的依賴;online
沒有包含對應的依賴組件,安裝的時候還須要進行下載。這裏使用online
的包,由於從Github
下載東西也不見得有多快。json
下載:bash
wget https://github.com/goharbor/harbor/releases/download/v2.1.1/harbor-online-installer-v2.1.1.tgz
解壓:服務器
tar zxvf harbor-online-installer-v2.1.1.tgz
準備配置文件:微信
cp harbor.yml.tmpl harbor.yml
修改配置:vi harbor.yml
,主要把https
去掉,並配置服務器地址和密碼。關鍵配置有:工具
hostname: 8.134.18.166 http: port: 8088 # https related config #https: # https port for harbor, default is 443 # port: 443 # The path of cert and key files for nginx #certificate: /your/certificate/path #private_key: /your/private/key/path harbor_admin_password: Harbor12345
改完配置後就開始執行安裝:this
./install.sh
安裝成功會有提示。
訪問:http://8.134.18.166:8088/
,便可登錄使用,用戶名爲admin
,密碼默認爲Harbor12345
。
管理用戶admin
權限過高,要建立一個普通用戶:
建立用戶的信息:
退出admin
,用新建立的用戶登錄,而後建立一個項目,用於存放鏡像:
項目建立成功:
在一臺有docker
的機器上配置daemon.json
,增長"insecure-registries": ["http://8.134.18.166:8088"],
vi /etc/docker/daemon.json
配置後內容以下:
{ "insecure-registries": ["http://8.134.18.166:8088"], "registry-mirrors": ["https://xxx.mirror.aliyuncs.com"], "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2" }
重啓Docker
:
systemctl restart docker
登錄新建的倉庫:
$ docker login http://8.134.18.166:8088 --username pkslow --password Pk123456 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
給其中一個鏡像打個tag
:
docker tag nginx 8.134.18.166:8088/pkslow/nginx:latest
上傳鏡像到倉庫:
$ docker push 8.134.18.166:8088/pkslow/nginx:latest The push refers to repository [8.134.18.166:8088/pkslow/nginx] cdd1d8ebeb06: Pushed fe08d9d9f185: Pushed 280ddd108a0a: Pushed f14cffae5c1a: Pushed d0fe97fa8b8c: Pushed latest: digest: sha256:4949aa7259aa6f827450207db5ad94cabaa9248277c6d736d5e1975d200c7e43 size: 1362
到網頁檢查一下,已經有對應的鏡像了:
拉取就不演示了。
歡迎關注微信公衆號<南瓜慢說>,將持續爲你更新...
多讀書,多分享;多寫做,多整理。