緣起:
我要在 MSI 筆電 (Windows) 上跑 ComfyUI
Docker,不想再花時間跟網路流量再載一次那個超大的 docker image,所以選擇在
MSI 筆電 (Arch) 把那個 image export 成 tar,然後再 FTP 傳到我那台 N100
上,接著 MSI 筆電重開機,切換作業系統為 Windows,最後用 FTP 從 N100 下載那個
tar 檔並 import。
export image 成一個 tar 檔
docker save -o <檔案名稱>.tar <目標image名稱>:<tag>
把 tar 檔 import 為 image
docker import <目標檔案>.tar
在 Windows 上 import
時出問題,我下了指令後它就卡在那邊,????,它就這樣一動也不動,我等了 30
分鐘後才發覺這有問題,乾,只能另尋其它的方法,借由這次的機會來學習使用本地端的
Docker Registry。
Docker Registry:
參考這篇文章,用來管理 Docker image 的 Docker Registry Server 也是能用 Docker 跑
XD,在 N100 上輸入指令來跑 Registry Server
docker run -d -p 5000:5000 -v ./DockerHub-Storage:/var/lib/registry --name registry registry:2
然後在 MSI 筆電 (Arch) 上先 tag yanwk/comfyui-boot (10.42.0.1 是 N100 的 ip)
sudo docker tag yanwk/comfyui-boot:cu126-slim 10.42.0.1:5000/comfyui
sudo docker push 10.42.0.1:5000/comfyui
會看到錯誤
"insecure-registries": ["192.168.182.134:5000"]
然後重啟 docker,再 push 一次,就能成功把 image push
上去。
sudo systemctl restart docker
push 完後,可以到 container
掛載的資料夾裡頭去看,在路徑 /docker/registry/v2/repositories
可以看到我們上傳的 image
再來重啟 MSI 筆電,切成 Windows,去 Settings -> Docker
Engine 那邊,{}裡加上這行 (N100 的 IP)
"insecure-registries": ["10.42.0.1:5000"]
重啟 Docker Desktop,然後打開 cmd 輸入
docker pull 10.42.0.1:5000/comfyui
![]() |
有在載了 |
載完後可以用 docker images 查看
Registry 刪除 image:
有想到一件事,就是 Docker Registry 的 image 要怎麼管理,像是想刪除的話要怎麼做?所以有再去查個資料。
可以呼叫 registry 的 api 來操作,用 curl 來發送 HTTP 請求。如果想刪除 image 的話,可以先查目標 repository 有哪些 tag
curl -X GET http://localhost:5000/v2/comfyui/tags/list
curl -I -X GET http://localhost:5000/v2/comfyui/manifests/latest
curl -X DELETE http://localhost:5000/v2/comfyui/manifests/{那個sha256}
沒有留言:
張貼留言