1. 程式人生 > >Docker私服倉庫Harbor安裝

Docker私服倉庫Harbor安裝

Harbor安裝那裡還是很簡單,就是在Docker Login那裡掉坑裡去了,搞半天,寫部落格的時候,又重新安裝了一遍

1.準備兩臺伺服器

centos7
harbor 10.19.46.15
client 10.19.44.31

2.harbor需要安裝docker和docker-composere,client只需要安裝docker

Docker安裝

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum -y install docker-ce
systemctl start docker

Docker Compose 安裝

yum install epel-release
yum install -y python-pip
pip install docker-compose
yum install git

harbor1.8 下載

https://github.com/goharbor/harbor/releases

解壓出來

[root@harbor harbor]# ll
總用量 32
-rw-r--r--. 1 root root  4519 5月  21 15:59 harbor.yml
-rwxr-xr-x. 1 root root  5088 5月  21 15:59 install.sh
-rw-r--r--. 1 root root 11347 5月  21 15:59 LICENSE
-rwxr-xr-x. 1 root root  1654 5月  21 15:59 prepare

修改harbor.yml

  • hostname 這裡設定本機的ip
  • harbor_admin_password web頁面的密碼

執行

sh ./install.sh

安裝成功

......
Status: Downloaded newer image for goharbor/harbor-registryctl:v1.8.0
Creating harbor-log ... done
Creating harbor-db   ... done
Creating registry    ... done
Creating redis       ... done
Creating registryctl ... done
Creating harbor-core ... done
Creating harbor-jobservice ... done
Creating harbor-portal     ... done
Creating nginx             ... done

✔ ----Harbor has been installed and started successfully.----

Now you should be able to visit the admin portal at http://10.19.46.15. 
For more details, please visit https://github.com/goharbor/harbor .

訪問頁面

http://10.19.46.15

如果想要停止,或者是伺服器重啟了,需要手動重啟,在harbor的安裝目錄,裡執行命令

[root@harbor harbor]# ll
總用量 40
drwxr-xr-x. 3 root root    20 5月  22 22:24 common
-rw-r-----. 1 root root  5183 5月  22 22:24 docker-compose.yml
-rw-r--r--. 1 root root  4514 5月  22 22:23 harbor.yml
-rwxr-xr-x. 1 root root  5088 5月  21 15:59 install.sh
-rw-r--r--. 1 root root 11347 5月  21 15:59 LICENSE
-rwxr-xr-x. 1 root root  1654 5月  21 15:59 prepare

# 停止
[root@harbor harbor]# docker-compose stop
Stopping nginx             ... done
Stopping harbor-portal     ... done
Stopping harbor-jobservice ... done
Stopping harbor-core       ... done
Stopping registryctl       ... done
Stopping redis             ... done
Stopping registry          ... done
Stopping harbor-db         ... done
Stopping harbor-log        ... done

# 執行
[root@harbor harbor]# docker-compose start
Starting log         ... done
Starting postgresql  ... done
Starting redis       ... done
Starting registry    ... done
Starting core        ... done
Starting jobservice  ... done
Starting portal      ... done
Starting proxy       ... done
Starting registryctl ... done

在另外一個伺服器(client)登入harbor

[root@client ~]# docker login 10.19.46.15
Username: admin
Password: 
Error response from daemon: Get https://10.19.46.15/v2/: dial tcp 10.19.46.15:443: connect: connection refused

這是因為docker1.3.2版本開始預設docker registry使用的是https,我們設定Harbor預設http方式,所以當執行用docker login、pull、push等命令操作非https的docker regsitry的時就會報錯。

解決https

在harbor那臺伺服器,在harbor的安裝目錄

vim docker-compose.yml

然後同時編輯harbor和client的docker配置檔案,10.19.46.15 是harbor的ip地址

# 1.
vim /etc/docker/daemon.json

{
    "insecure-registries": [
        "10.19.46.15"
    ]
}

# 2.新增ExecStart=/usr/bin/dockerd  |--insecure-registry=10.19.46.15
vim /usr/lib/systemd/system/docker.service

# 把這行註釋掉,新增下面的配置 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd
                |--insecure-registry=10.19.46.15

1.重啟harbor 的 docker-compose,命令文上有
2.重啟docker

 systemctl daemon-reload
systemctl restart docker

client 登入倉庫

[root@client ~]# docker login 10.19.46.15   
Username: admin
Password: 
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

偷工減料

pull 的命令

推送和打tag的命令

參考

harbor的安裝:https://blog.csdn.net/weixin_42082634/article/details/82850298
更多可訪問我的部落格:https://yanganlin.com