Jenkins上傳Docker映象到Docker Hub
阿新 • • 發佈:2019-04-20
服務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)。