harbor鏡像倉庫-01-搭建部署
harbor的https配置參考另一章節harbor鏡像倉庫-02-https訪問配置
1. 安裝docker和docker-compse
已安裝的檢查版本后跳過這一步
系統要求
docker 17.03.0-ce +
docker-compose 1.10.0+
1.1 安裝docker
###### 1.1.1 下載並安裝阿里的docker-ce的yum倉庫
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
###### 1.1.2 下載docker
yum install -y docker-ce
###### 1.1.3 啟動docker
systemctl enable docker
systemctl restart docker
[root@docker centos]# docker version
Client:
Version: 18.09.5
API version: 1.39
Go version: go1.10.8
Git commit: e8ff056
Built: Thu Apr 11 04:43:34 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.5
API version: 1.39 (minimum version 1.12)
Go version: go1.10.8
Git commit: e8ff056
Built: Thu Apr 11 04:13:40 2019
OS/Arch: linux/amd64
Experimental: false
1.2 安裝docker-compose
github上地址https://github.com/docker/compose
curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
[root@docker ~]# docker-compose version
docker-compose version 1.16.1, build 6d1ac21
docker-py version: 2.5.1
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.1t 3 May 2016
2 安裝harbor
項目地址https://github.com/goharbor/harbor
2.1 下載harbor安裝包並解壓
harbor安裝分兩種方式在線安裝和離線安裝,這里選在線安裝
[root@docker ~]# wget https://storage.googleapis.com/harbor-releases/release-1.5.0/harbor-offline-installe-v1.5.1.tgz
[root@docker ~]# tar xf harbor-offline-installer-v1.5.1.tgz -C /usr/share/
[root@docker ~]# ll /usr/share/harbor/
總用量 72
drwxr-xr-x 4 root root 37 4月 15 14:25 common
-rw-r--r-- 1 root root 1185 5月 7 2018 docker-compose.clair.yml
-rw-r--r-- 1 root root 1725 5月 7 2018 docker-compose.notary.yml
-rw-r--r-- 1 root root 3596 4月 16 13:14 docker-compose.yml
drwxr-xr-x 3 root root 136 5月 7 2018 ha
-rw-r--r-- 1 root root 6678 4月 16 18:26 harbor.cfg
-rwxr-xr-x 1 root root 5773 5月 7 2018 install.sh
-rw-r--r-- 1 root root 10771 5月 7 2018 LICENSE
-rw-r--r-- 1 root root 482 5月 7 2018 NOTICE
-rwxr-xr-x 1 root root 27379 5月 7 2018 prepare
2.2 修改harbor配置文件harbor.cfg
在剛才解壓完的目錄下有harbor配置文件: harbor.cfg, 這里有幾處必要配置需要修改:
# hostname設置訪問地址,可以使用ip、域名,不可以設置為127.0.0.1或localhost
hostname = 192.168.1.109
# 訪問協議,默認是http,也可以設置https,如果設置https,則nginx ssl需要設置on
ui_url_protocol = http
# mysql數據庫root用戶默認密碼root123,實際使用時修改下
db_password = root123
# 啟動Harbor后,管理員UI登錄的密碼,默認是Harbor12345
harbor_admin_password = Harbor12345123456
# 是否開啟自注冊
self_registration = on
# Token有效時間,默認30分鍾
token_expiration = 30
2.3 開始安裝
harbor安裝只需要修改harbor配置文件后執行解壓目錄下的install.sh就可以,會根據dockerr-compose.yml開始自動下載依賴鏡像,開始安裝
[root@docker harbor]# ./install.sh
[root@docker harbor]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
vmware/redis-photon v1.5.0 7c03076402d9 11 months ago 207MB
vmware/registry-photon v2.6.2-v1.5.0 3059f44f4b9a 11 months ago 198MB
vmware/nginx-photon v1.5.0 e100456182fc 11 months ago 135MB
vmware/harbor-log v1.5.0 62bb6b8350d9 11 months ago 200MB
vmware/harbor-jobservice v1.5.0 aca9fd2e867f 11 months ago 194MB
vmware/harbor-ui v1.5.0 1055166068d0 11 months ago 212MB
vmware/harbor-adminserver v1.5.0 019bc4544829 11 months ago 183MB
vmware/harbor-db v1.5.0 82354dcf564f 11 months ago 526MB
[root@docker harbor]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4a822e918b86 vmware/nginx-photon:v1.5.0 "nginx -g 'daemon of…" 6 hours ago Up 5 hours (healthy) 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp nginx
241c5199601f vmware/harbor-jobservice:v1.5.0 "/harbor/start.sh" 6 hours ago Up 5 hours harbor-jobservice
81dda90b47dc vmware/harbor-ui:v1.5.0 "/harbor/start.sh" 6 hours ago Up 5 hours (healthy) harbor-ui
3ccc6d78ded1 vmware/harbor-adminserver:v1.5.0 "/harbor/start.sh" 6 hours ago Up 5 hours (healthy) harbor-adminserver
d2757eb19bc7 vmware/registry-photon:v2.6.2-v1.5.0 "/entrypoint.sh serv…" 6 hours ago Up 5 hours (healthy) 5000/tcp registry
07e42e684e7b vmware/harbor-db:v1.5.0 "/usr/local/bin/dock…" 6 hours ago Up 5 hours (healthy) 3306/tcp harbor-db
1e17cdf359cd vmware/redis-photon:v1.5.0 "docker-entrypoint.s…" 6 hours ago Up 5 hours 6379/tcp redis
1a3c1227f448 vmware/harbor-log:v1.5.0 "/bin/sh -c /usr/loc…" 6 hours ago Up 5 hours (healthy) 127.0.0.1:1514->10514/tcp harbor-log
此時harbor進項倉庫搭建成功,訪問倉庫 http://192.168.1.109

3 harbor鏡像倉庫的使用
3.1 配置docker客戶端使用harbor
因為harbor默認是http,我們也沒有配置https,所以修改下docker的配置,添加參數insecure-registries,使docker信任http地址:
所有使用harbor倉庫的客戶端都需要配置
[root@docker ~]# cat /etc/docker/daemon.json
{
"insecure-registries": ["192.168.1.109"]
}
然后重啟docker服務
[root@docker ~]# systemctl daemon-reload
[root@docker ~]# systemctl restart docker
3.2 鏡像的push與pull
###給鏡像打標簽:
docker tag centos:latest 192.168.1.109/library/centos:latest
###登陸倉庫
docker login -u admin -p admin 192.168.1.109
###上傳鏡像
docker push 192.168.1.109/library/centos:latest
###下載鏡像
docker pull 192.168.1.109/library/centos:latest