docker高級應用之鏡像打包與節點推送

目前我這裏使用docker作caas平臺,主要是解決:web

一、運維沙箱環境測試;docker

二、研發半自動化代碼部署與回滾;bash

三、集羣化應用與auto scale。運維

目前這3點都實現,但在第2點與第3點聯繫的時候有個問題。在第2裏,研發測試成功的代碼會被打包爲一個p_w_picpaths,放入私有庫,而後第3部集羣更新的時候,會選擇這個成功版本的鏡像,但在更新中,因爲每一個節點都須要從私有庫裏獲取鏡像,這樣節點越多更新越慢,因此爲了解決這個問題,我這裏在第二步研發打包p_w_picpath以後,會進行一下全部節點推送,這樣在進行集羣更新的時候,會很快了。ide

下面是我進行代碼自動打包爲鏡像與鏡像全節點推送的操做過程。測試

一、代碼自動打包爲鏡像blog

主要是在容器所在宿主機裏運行下面命令部署

docker commit --pause=false  container_name p_w_picpath_name:p_w_picpath_tag &>>/dev/null && docker push p_w_picpath_repo/p_w_picpath_name:p_w_picpath_tag &>>/dev/null && echo 0 || echo 1

上面只是操做的命令,實現操做我已經在程序裏封裝好了。get

下面是web平臺裏的操做狀況同步

wKioL1XtAofBndrVAAGjgOPROq4159.jpg

我想對容器test_update進行鏡像打包,那麼就點擊Compress按鈕輸入具體描述就能夠。

wKioL1XtA73zzq6SAACwAyg-YHA028.jpg

而後選擇肯定,等一會就會出現

wKioL1XtBBORtv1IAALscW8OnU8447.jpg能夠看到右側有個對話框,顯示容器打包爲鏡像成功。

而後在去容器管理裏查看具體信息

wKiom1XtAkCQicZrAAGnnHktexg252.jpg


能夠看到鏡像已經有了,在經過Info按鈕查看具體信息

wKioL1XtBJHB9bv4AAGzC8DXpHk182.jpg

能夠看到詳情跟以前打包的同樣。

二、進行鏡像推送到全部節點

也是在鏡像管理裏,選擇push按鈕

wKiom1XtArWB9NxBAAGKDNzC6Fk018.jpg

選擇推送就會在全部節點裏同步鏡像信息,其實也就是在全部節點運行docker pull命令

wKiom1XtAxyAdGLzAAOAFJNlrrc459.jpg能夠經過左下角的firebug看到經過18.18秒就在全部節點裏給361m的鏡像同步完成。

以後這個進行就能夠被集羣環境或者其餘環境給使用。

相關文章
相關標籤/搜索