1. 程式人生 > >Jenkins上傳Docker映象到Docker Hub

Jenkins上傳Docker映象到Docker Hub

服務Docker化的好處:

  • 服務部署在Docker容器內,遮蔽了環境的影響,大大提高了成功部署的可複製性。
  • 只要使用Docker指令就能部署,簡單。
  • 映象可以上傳到Registry,只要有Docker而且可以上網就能部署。

Jenkins可以使用Maven構建Docker映象,完成之後可以Post Steps中實現映象的上傳:

一共兩步,tag和push:

1)其中tag使用了Docker外掛,需要在 系統管理->系統配置->Docker Builder中設定:

對應的值可在Jenkins伺服器中,通過docker-machine env和docker -v獲取:

2)push操作使用Windows的批處理命令(因為Jenkins安裝在Windows系統上,如果安裝在Linux, 可以使用shell)。

理論上也能通過Docker外掛完成push,多次實驗之後未能成功!

嘗試本地部署一臺Registry,由於Registry若要開放外部訪問,必須使用TLS,安裝相對複雜,放棄!

所以最終選擇使用批處理進行上傳,期間遇到了docker指令無法識別的問題,參考解決。

 

通過這兩步可以成功將映象上傳到Docker Hub中,但還有不合適的地方,如:使用了我個人的Docker Hub賬號,密碼明文顯示在配置中,映象在公網Registry中存在一定風險等(最好能本地部署一臺Registry)。