2017-03-09

[砸七砸八] 遷移自建Docker私有庫 & 客製化公有庫Docker並納入私有庫

最近用了一些Dockerfile與docker的東西,快速筆記一下避免忘記:

[遷移自建docker registry]

  • 想自建docker registry(也就是docker image repository倉庫)自有庫,很簡單,直接到官方docker build一下就可以自建倉庫,略述。
  • 當自有庫運行一段時間,你在上面已經有了大量自建的docker image後,如果想要遷移,這時候你可以把整個registry做docker打包,然後tar起來並且壓縮,略述。
  • 接著把壓縮的registry tar用一般檔案搬移的方式mv/cp/scp/rsync到任何新的宿主機HOST上,把他解壓縮並docker run就可以繼續執行。
    • 參考指令(以下僅為範例指令,請依當下環境自行修改)。
    • #docker run -d -p 4000:5000 --restart=always --name registry-name -v 'pwd'/your-data:/var/lib/registry registry:version

  • 無網路問題,因為container共享HOST網路。

[客製化公有庫的Dockerfile & 納入私有庫]
  • 網路上很多公有庫的docker很好用,但總是需要客製化,無所謂,反正就是拿他的Dockerfile來修改。

  • 修改後重建指令
    • #docker build -t "sean/docker-image:v030901" .
  • 貼上自有庫registry認得的tag
    • #docker tag -f sean/docker-image:v030901 ${registry_ip:registry:port}/${project}/${docker-image-name}:${tag_version}
  • 上傳到自有庫方便自己使用,可以跟自己的CI/CD流程自動化串整
    • #docker push ${registry_ip:registry:port}/${project}/${docker-image-name}:${tag_version}