Jenkins上傳Docker鏡像到Docker Hub

服務Docker化的好處:docker

  • 服務部署在Docker容器內,屏蔽了環境的影響,大大提升了成功部署的可複製性。
  • 只要使用Docker指令就能部署,簡單。
  • 鏡像能夠上傳到Registry,只要有Docker並且能夠上網就能部署。

Jenkins能夠使用Maven構建Docker鏡像,完成以後能夠Post Steps中實現鏡像的上傳:shell

一共兩步,tag和push:服務器

1)其中tag使用了Docker插件,須要在 系統管理->系統配置->Docker Builder中設置:ui

對應的值可在Jenkins服務器中,經過docker-machine env和docker -v獲取:.net

2)push操做使用Windows的批處理命令(由於Jenkins安裝在Windows系統上,若是安裝在Linux, 能夠使用shell)。插件

理論上也能經過Docker插件完成push,屢次實驗以後未能成功!blog

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

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

 

經過這兩步能夠成功將鏡像上傳到Docker Hub中,但還有不合適的地方,如:使用了我我的的Docker Hub帳號,密碼明文顯示在配置中,鏡像在公網Registry中存在必定風險等(最好能本地部署一臺Registry)。容器

相關文章
相關標籤/搜索