目前我這裏使用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平臺裏的操做狀況同步
我想對容器test_update進行鏡像打包,那麼就點擊Compress按鈕輸入具體描述就能夠。
而後選擇肯定,等一會就會出現
而後在去容器管理裏查看具體信息
能夠看到鏡像已經有了,在經過Info按鈕查看具體信息
能夠看到詳情跟以前打包的同樣。
二、進行鏡像推送到全部節點
也是在鏡像管理裏,選擇push按鈕
選擇推送就會在全部節點裏同步鏡像信息,其實也就是在全部節點運行docker pull命令
能夠經過左下角的firebug看到經過18.18秒就在全部節點裏給361m的鏡像同步完成。
以後這個進行就能夠被集羣環境或者其餘環境給使用。