群暉DS218+部署Harbor(1.10.3)
阿新 • • 發佈:2020-12-19
### 歡迎訪問我的GitHub
[https://github.com/zq2599/blog_demos](https://github.com/zq2599/blog_demos)
內容:所有原創文章分類彙總及配套原始碼,涉及Java、Docker、Kubernetes、DevOPS等;
### 起因是懶
最近在家折騰docker,需要一個私有映象倉庫harbor,通常做法是開啟電腦,啟動harbor,用完再關閉電腦,總覺得這些操作挺麻煩(您想罵我懶麼?您罵得對.....)
### 群暉解決煩惱
1. 家裡有臺群暉DS218+,從不關機,為全家提供穩定的圖片和視訊服務,之前已在上面部署了maven私服、MySQL,執行得很穩定,今天就把harbor也部署在上面吧,今後可以隨時想用就用,算得上懶人救星了。
2. 下圖是DS218+剛買來的樣子,兩塊NAS硬碟,一直在穩定服務:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202012/485422-20201219075623377-863737016.png)
3. 下圖是網購的記憶體條,現在一共2+8=10G記憶體,記憶體充足才是敢折騰的底氣:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202012/485422-20201219075625220-1461565894.png)
### 前文連結
之前折騰群暉的記錄:
1. [群暉DS218+部署mysql](https://blog.csdn.net/boling_cavalry/article/details/105460567)
2. [群暉DS218+部署kafka](https://blog.csdn.net/boling_cavalry/article/details/105462692)
3. [群暉DS218+做maven私服(nexus3)](https://blog.csdn.net/boling_cavalry/article/details/105458466)
4. [K8S使用群暉DS218+的NFS](https://blog.csdn.net/boling_cavalry/article/details/105465233)
### 思路
其實操作很簡單:harbor的部署是基於docker-compose的,群暉已帶有docker-compose了,按照官方的部署指南操作即可,以下幾處是要注意的地方:
1. 部署指令碼中需要管理員許可權,所以不在網頁上操作了,而是SSH登入後臺進行操作;
2. 自己在家使用,就不用https了,直接用http即可;
### 環境資訊
1. 群暉系統:DSM 6.2.2-24922 Update 4
2. harbor:1.10.3
### 允許SSH登入
先要設定允許SSH後臺登入:
1. 如下圖紅框的操作:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202012/485422-20201219075626431-2017347072.png)
2. 如下圖,勾選啟用SSH功能,埠就用22:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202012/485422-20201219075626935-1708004350.png)
3. 現在用SSH終端即可登入群暉了,我這裡是在windows電腦上用Xshell6登入的,您可以選用任意SSH終端工具,賬號密碼就是能登入群暉的賬號密碼,如下圖,登入後,就可以使用日常的linux命令了:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202012/485422-20201219075627609-2136802331.png)
4. 注意上圖的紅框,登入賬號的home目錄是/var/services/homes/zq2599
### 部署harbor
1. 執行以下指令碼,建立必要目錄並且下載和解壓harbor安裝包:
```shell
mkdir ~/harbor-1.10.3 \
&& mkdir ~/harbor-1.10.3/log \
&& mkdir ~/harbor-1.10.3/data \
&& mkdir ~/harbor-1.10.3/data/secret \
&& cd ~/harbor-1.10.3 \
&& wget https://github.com/goharbor/harbor/releases/download/v1.10.3/harbor-online-installer-v1.10.3.tgz \
&& tar -zxvf harbor-online-installer-v1.10.3.tgz \
&& mkdir -p ~/harbor-1.10.3/harbor/common/config
```
2. 開啟檔案~/harbor-1.10.3/harbor/harbor.yml,有以下幾處需要修改;
3. 修改hostname,如果有域名就用域名,否則改成IP地址:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202012/485422-20201219075627953-2061683425.png)
4. 選一個沒有佔用的埠作為http埠,這裡我用的是5888
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202012/485422-20201219075628304-2022013833.png)
5. 如果不打算使用https,就要註釋所有https的配置:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202012/485422-20201219075629449-1702912593.png)
6. 修改儲存資料的位置,注意/var/services/homes/zq2599是當前賬號的home目錄:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202012/485422-20201219075629973-435153107.png)
7. 修改日誌儲存路徑,這個資料夾之前就建立好了:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202012/485422-20201219075630872-1234967061.png)
8. 修改配置完畢,儲存;
9. 執行準備命令:
```shell
cd ~/harbor-1.10.3/harbor \
&& sudo ./prepare
```
10. 開始安裝:
```shell
cd ~/harbor-1.10.3/harbor \
&& sudo ./install.sh
```
11. 操作成功的控制檯輸出如下:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202012/485422-20201219075631698-950533533.png)
### 瀏覽器登入harbor
1. 開啟瀏覽器,訪問地址http://192.168.50.43:5888 ,賬號admin,密碼Harbor12345
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202012/485422-20201219075632153-1229996217.png)
2. 登入成功如下圖,群暉空間還是很充裕的:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202012/485422-20201219075632719-998088409.png)
### 使用harbor
1. 接下來的操作是從另一臺Linux電腦(下面稱之為A電腦)遠端推送映象到harbor機器;
2. 如果要從A電腦連線harbor伺服器,那麼要對A電腦做設定,我這裡A電腦是Linux作業系統;
3. 編輯A電腦的/etc/docker/daemon.json檔案(如果不存在就新建),增加下圖紅框中的內容,192.168.50.43是harbor伺服器的IP地址,5888是前面配置的http埠:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202012/485422-20201219075633473-1348468280.png)
4. 重啟docker服務使配置生效:
```shell
systemctl daemon-reload \
&& systemctl restart docker
```
5. 再次提醒:這裡修改是遠端連線Harbor服務的機器的配置,而不是Harbor伺服器的配置;
6. 在A電腦上,有個nginx映象,id是2622e6cca7eb,如下圖所示:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202012/485422-20201219075633860-1839445682.png)
7. 按照dockr映象倉庫規則給映象打tag:
```shell
docker tag 2622e6cca7eb 192.168.50.43:5888/library/nginx:latest
```
8. 現在是同一個ID的映象,但是有兩個tag:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202012/485422-20201219075634466-14053185.png)
9. 登入harbor:
```shell
docker login 192.168.50.43:5888 -u admin -p Harbor12345
```
10. 推送映象到harbor:
```shell
docker push 192.168.50.43:5888/library/nginx:latest
```
11. 操作成功:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202012/485422-20201219075635173-489017882.png)
12. 推送成功後,在瀏覽器頁面可見此映象:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202012/485422-20201219075635629-864979713.png)
13. 新建倉庫的操作如下所示:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202012/485422-20201219075635931-1346377493.png)
14. 建立成功:
![在這裡插入圖片描述](https://img2020.cnblogs.com/other/485422/202012/485422-20201219075636205-625308722.png)
### 解除安裝harbor
1. 如果您不需要harbor了,執行以下命令即可:
```shell
cd ~/harbor-1.10.3/harbor \
&& sudo docker-compose down
```
2. 再刪除整個~/harbor-1.10.3目錄即可,注意所有資料都會清除掉;
至此,群暉DS218+部署和驗證harbor的操作就完成了,希望能帶給您一些參考;
### 你不孤單,欣宸原創一路相伴
1. [Java系列](https://xinchen.blog.csdn.net/article/details/105068742)
2. [Spring系列](https://xinchen.blog.csdn.net/article/details/105086498)
3. [Docker系列](https://xinchen.blog.csdn.net/article/details/105086732)
4. [kubernetes系列](https://xinchen.blog.csdn.net/article/details/105086794)
5. [資料庫+中介軟體系列](https://xinchen.blog.csdn.net/article/details/105086850)
6. [DevOps系列](https://xinchen.blog.csdn.net/article/details/105086920)
### 歡迎關注公眾號:程式設計師欣宸
> 微信搜尋「程式設計師欣宸」,我是欣宸,期待與您一同暢遊Java世界...
[https://github.com/zq2599/blog_demos](https://github.com/zq2599/blo