使用上一篇所輸入的本機 IP 位址於瀏覽器中,就會轉導到Harbor 首頁。
使用者名稱預設為:admin
密碼:就是上一則在harbor.yml文件中所設置的密碼。預設為Harbor12345
登入後畫面 → 點選「新建專案」→ 我以project名稱來作為命名,後續這個project的image就固定推送到這個專案資料夾中。
如果沒有配置的話,登入harbor時會顯示錯誤(記得要換成自己的ip)
docker login -u admin -p Harbor12345 <ip>:80
因為透過docker 來訪問 Harbor時,docker會使用Https協定做訪問,但Harbor這邊是搭建在本地local端的,是使用Http,所以就會導致錯誤無法正常訪問。
所以要為docker 配置 insecure-registries 可訪問的http位址。
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get "https://<ip>:80/v2/": http: server gave HTTP response to HTTPS client
Mac / Windows 環境請直接使用 docker 視窗工具配置
點選右上角的設定→ Docker Engine → 加上橘框這一段json字串 → 點選 Apply & restart
會配置完成並重啟docker
vi /etc/docker/daemon.json
告訴Docker,允許與指定的Registry建立不安全的Http連接
請把ip改為你配置harbor.yml文件時設定的IP,port號預設是80,如果在文件有修改的話,這邊也要使用修改後的port號。
{
"insecure-registries": ["ip:80"]
}
Linux 使用 systemctl restart docker
。
Mac / Windows 則同上方所述,使用docker.app視窗工具,點選按鈕會協助設定與重啟服務。
Harbor 也需要重新啟動,於該路徑下執行docker-compose up 啟動相關服務。
配置完並重啟後,請再重新使用docker登入Harbor
docker login -u admin -p Harbor12345 <ip>:80
看到這段文字就是登入成功囉!
使用docker 推送 image 到 Harbor的指令
Harbor url:就是訪問Harbor的IP位址,:80
project_name:就是你在Harbor內設定的專案名稱
repository:TAG:要推送上去的 image 名稱 加上版本號
docker push Harbor_url/project_name/repository:TAG
執行push以及推送完成
在harbor上也可以看到image已經推送到專案goal-life-auth資料夾中
先把原本的image 刪除 docker rmi <REPOSITORY>:TAG
再從Harbor拉取image下來到docker中,看到以下圖示就代表拉取成功囉
docker pull 192.168.2.60:80/goal-life-auth/goal-life-auth:0.1.0
在Harbor 中就會顯示最後拉取時間