harbor安裝實操筆記

紙上得來終覺淺,實操一遍吧!
把所有開發的后端服務先在打成鏡像,傳到私有鏡像倉庫;
然后在任意的遠程機器拉取鏡像,然后可采用docker或者docker-compose的方式運行,本節先按照docker的方式運行;
后面補充docker-compose和k8s的方式運行鏡像;
| 問題 | 回答 |
|---|---|
| where are we?現狀 | 簡單的聽說過harbor并未實操,不知道里面的坑 |
| where are we go? 目標 | 實際使用harbor,把完整的產品鏡像(前后端中間件)上傳到鏡像倉庫,得到軟件制品; |
| how can we go there?路徑 | 先安裝harbor 然后推送程序鏡像到harbor 最后在任意機器上拉取鏡像運行; |
安裝docker和docker-compose
當前的docker版本不夠高,需要升級;
先刪除docker;
rpm -qa | grep docker
//刪除查詢到的所有跟docker相關的東西;
yum reomove xxx
安裝指定版本:
yum install docker-ce-18.06.3.ce-3.el7 -y
# 啟動docker
systemctl start docker
# 設置為開啟啟動
systemctl enable docker
安裝docker-compose ```shell yum install docker-compose ```
解壓安裝包之后得到的文件目錄如下:

復制配置文件模板,并修改host和端口;
cp harbor.yml.tmpl harbor.yml
vim harbor.yml
# 配置host和端口;
# 注釋掉htts端口的配置;

執行安裝:
sh install.sh
安裝完畢之后成功截圖:

登錄Harbor管理后臺
入口:[http://47.115.100.100:8000/](http://47.115.100.100:8000/)
賬號:admin
密碼:Harbor12345

推送鏡像到harbor
制作鏡像的Dockerfile
FROM java:8
MAINTAINER lifuchun <lifc@authine.com>
VOLUME /tmp
ADD config config
ADD app-file.jar app.jar
ADD skywalking-agent.jar skywalking-agent.jar
ADD application.properties application.properties
EXPOSE 8881
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Dspring.cloud.nacos.discovery.server-addr=47.113.126.86:8848","-Dspring.cloud.nacos.discovery.namespace=test","-javaagent:/skywalking-agent.jar","-Dskywalking.agent.service_name=app-file","-Dcollector.backend_service=47.115.100.100:11800","-Dspring.application.name=app-file","-jar","/app.jar"]
制作鏡像指令:
echo '構建app-file鏡像并啟動'
docker build -t app-file .
echo '運行app-file'
docker run --name app-file -v /data/var/log:/data/var/log -m 1024M -d -p 8881:8080 app-file
得到鏡像之后,需要推送鏡像到harbor倉庫;
如果推送到harbor倉庫提示https錯誤;
docker push 47.115.100.100:8000/cloudpivot/app-file:latest
The push refers to repository [47.115.100.100:8000/cloudpivot/app-file]
Get https://47.115.100.100:8000/v2/: http: server gave HTTP response to HTTPS client
需要設置本地的docker接受不安全的注冊中心:

然后重啟docker;
登錄倉庫:
docker login 47.115.100.100:8000
# 輸入賬號,密碼
本地鏡像打tag:
docker tag app-file 47.115.100.100:8000/cloudpivot/app-file:latest
推送鏡像:
docker push 47.115.100.100:8000/cloudpivot/app-file:latest
推送進度:

界面觀察鏡像:

從harbor拉取鏡像運行
需要編輯docker的配置文件:
vim /etc/docker/daemon.json
# 插入配置信息
配置信息如下:
{"insecure-registries":["ip:port"]}
然后重啟docker:
systemctl restart docker
拉取鏡像: ```shell docker pull 47.115.100.100:8000/cloudpivot/app-file:latest ```
進度如下:

運行鏡像:
docker run --name app-file -v /data/var/log:/data/var/log -m 1024M -d -p 8881:8080 app-file
然后查看日志:
docker logs -f app-file
或者直接在掛載的日志目錄中查看日志:
tail -f /data/var/log/app-file.log

小結
一句話概括本文做的事情: 先安裝docker和docker-compose,然后安裝完harbor,找了一個后端服務本地上傳鏡像,遠程服務器直接使用鏡像使用docker的方式運行起來了。
原創不易,關注誠可貴,轉發價更高!轉載請注明出處,讓我們互通有無,共同進步,歡迎溝通交流。
no pays,no gains!

浙公網安備 33010602011771號