data-packed volume container - 天天5分鐘玩轉 Docker 容器技術(43)

在上一節的例子中 volume container 的數據歸根到底仍是在 host 裏,有沒有辦法將數據徹底放到 volume container 中,同時又能與其餘容器共享呢?web

固然能夠,一般咱們稱這種容器爲 data-packed volume container。其原理是將數據打包到鏡像中,而後經過 docker managed volume 共享。docker

咱們用下面的 Dockerfile 構建鏡像:apache

207.png

ADD 將靜態文件添加到容器目錄 /usr/local/apache2/htdocs。
VOLUME 的做用與 -v 等效,用來建立 docker managed volume,mount point 爲 /usr/local/apache2/htdocs,由於這個目錄就是 ADD 添加的目錄,因此會將已有數據拷貝到 volume 中。 學習

build 新鏡像 datapacked:ui

用新鏡像建立 data-packed volume container:code

由於在 Dockerfile 中已經使用了 VOLUME 指令,這裏就不須要指定 volume 的 mount point 了。啓動 httpd 容器並使用 data-packed volume container:server

容器可以正確讀取 volume 中的數據。data-packed volume container 是自包含的,不依賴 host 提供數據,具備很強的移植性,很是適合 只使用 靜態數據的場景,好比應用的配置信息、web server 的靜態文件等。生命週期

容器數據共享就討論到這裏,下一節咱們學習如何對 data volume 的生命週期進行管理。

二維碼+指紋.png容器

相關文章
相關標籤/搜索