微服務中如何搭建一個高可用的地圖服務

weixin_34365417發表於2018-03-29

晚上讀CloudMan所著《每天5分鐘玩轉Docker容器技術》一書,讀到Docker儲存一章。受作者啟發,突然有感記錄下來。
我們在專網內搭建地圖伺服器時,通常是部署個web伺服器,並將地圖資料拷貝至web伺服器目錄下,針對地圖資料的拷貝實在令人頭疼,檔案總量大,單個檔案小,拷貝起來特不方便,為此我們為它量身定製了一個系統,下次出去實施時直接拿系統映象,但是一個系統實在也很笨重,而且佔用更多的硬體資源。在Docker世界裡難道沒有辦法解決嗎,當然是不可能的,Docke就有辦法為你解決。
作者在講到如何進行容器的資料共享時,提到兩種共享方式。
一是,利用host共享資料,所有容器都掛載到同一個host目錄下實現容器的共享。但是將這麼多檔案的資料拷來拷去實在麻煩。
二是,利用volume container。volume container時專門為其他容器提供volume的容器。它的升級版時data-packed volume container,其實就是將資料打包進映象中,然後通過docker managed volume將資料共享。
例如:
通過Dockerfile構建這樣一個data-packed volume container映象——datapacked

FROM busy box :latest
ADD /mapabc /usr/local/apache2/
VOLUME /usr/local/apache2/
docker create --name vc_data datapacked

其他web服務的容器使用該volume container就能共用該容器共享的volume,從而實現多個web地圖服務

docker run -d -p 8080:80 --volume-from vc_data httpd

相關文章