
架設私有 Docker 倉庫
在用wsl直上一次Harbor 由於呢,不想再開VM 所以也找不到有 wsl 架設的目前只是測試用,不過可以順利RUN 起 WSL
安裝 harbor
https://github.com/goharbor/harbor/releases
目前是下載

wget https://github.com/goharbor/harbor/releases/download/v2.0.1/harbor-offline-installer-v2.0.1.tgz
解壓縮 tar xvf https://github.com/goharbor/harbor/releases/download/v2.0.1/harbor-offline-installer-v2.0.1.tgz 切至harbor 目錄 修改裡面的harbor yml 檔案
add harbor.yml
# Configuration file of Harbor
# The IP address or hostname to access admin UI and registry service.
# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
hostname: activate.adobe.com << 目前的 位於 etc/hosts 裡面的 這個代表指向 hostname
# http related config
http:
# port for http, default is 80. If https enabled, this port will redirect to https port
port: 80
# https related config
https:
# https port for harbor, default is 443
port: 443
# The path of cert and key files for nginx
certificate: /home/x213212/harbor/ca.crt
private_key: /home/x213212/harbor/ca.key
產生憑證
https://ivanzz1001.github.io/records/post/docker/2018/04/09/docker-harbor-https
openssl req \ -newkey rsa:4096 -nodes -sha256 -keyout ca.key \ -x509 -days 365 -out ca.crt
開始安裝
sudo ./install.sh
這邊可以發現
![]()
修改 hostname
因為 docker desktop 預設 ip 是浮動的,我是不曉得有沒有其他方式可以固定下來應該有 目前只應急
這邊是我的可以看到根本不行,我之前修改過一次存檔後,他下一次把我覆蓋掉所以測試用途我直接使用 activate.adobe.com 去做測試
修改配置 vim /etc/docker/daemon.json
這時候你會發現 外面的 docker desktop 掛掉了 可能是腳本那邊有複寫到 docker desktop daemon 查閱官網技術文件說 docker desktop 沒有 daemon (??)
sudo vim /etc/docker/daemon.json
可以看到中間那個insecure-registries 我把他指向 activate.adobe.com,正常來說 ip 也是可以它的用意好像是
The IP address or hostname to access admin UI and registry service. DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
可能會被其他使用者訪問的意思,這邊我們只有我所以指定自己
{ "registry-mirrors": [], "insecure-registries": [ "activate.adobe.com" ], "debug": true, "experimental": false }
WSL2: docker: Error response from daemon: cgroups: cannot find cgroup mount destination: unknown.
sudo mkdir /sys/fs/cgroup/systemd sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd https://github.com/microsoft/WSL/issues/4189
docker 重啟 vim /etc/docker/daemon.json
因為我們的 docker 跑去讀
sudo dockerd &
重新執行配置檔 vim /etc/docker/daemon.json
預設docker desktop 是沒有的所以 因為我們的docker 掛掉了,所以我們乾脆重裝一次看正不正常
sudo ./install.sh
這邊我當初怕麻煩所以又重裝一下
這時候可以看到剛剛那個畫面
成功我們來瀏覽一下
進入 harbor
這邊可以看到我還是用 ip 去做瀏覽,不知道為什麼我們的 https://activate.adobe.com/ 並沒有生效
進入後我們來申請一下角色權限
申請一組 管理員帳號 等等 docker login 要用

docker login

我剛剛已經登入過了
docker login activate.adobe.com 第一次登入 要你輸入 username 和 password
嘗試推上我們的私有倉庫
這邊要注意我們的project name 很重要

這邊有寫如果要推送 image 到這個 project 要下哪一些指令
Docker Push Command
Tag an image for this project:
docker tag SOURCE_IMAGE[:TAG] 172.24.232.224/library/REPOSITORY[:TAG]
Push an image to this project:
docker push 172.24.232.224/library/REPOSITORY[:TAG]
推送範例

docker pull nginx:1.12.1 docker tag nginx:1.12.1 activate.adobe.com/library/nginx:1.12.1 docker push activate.adobe.com/library/nginx:1.12.1
received unexpected HTTP status: 500 Internal Server Error
假設我們的insecure-registries 沒有填入我們的正確ip和 hostname 或者是 project name錯誤可能會出現 received unexpected HTTP status: 500 Internal Server Error
拉取範例
Pull Image
docker pull activate.adobe.com/library/nginx:1.12.1

假設不想搞東搞西的話 這樣是最好的要回歸最初的 docker 只要
按下去 就好了我們的 docker 配置檔就回歸到最初配置了
接入 portainer 看看

docker container ls 這邊可以看到 我們的 harbor 其實就是 docker-compose
我們來安裝 docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /home/Portainer:/data portainer/portainer
可以看到也可以正常使用了



Comments