043、data-packed volume container (2019-03-06 週三)

三角形發表於2019-03-06
 
 
volume container 的資料歸根到底還是在host上,我們能不能把資料完全放到volume container中呢,同時還能與其他容器共享
 
其實我們還可以將資料打包到映象中,然後通過docker managed volume共享
 
Dockerfile中的 VOLUME 與 docker create -v 等效,用來建立docker managed volume
 
data-packed volume container是自包含的,不依賴host提供資料,具有很強的移植性,非常適合只使用靜態資料的場景,比如應用的配置資訊、web server等靜態檔案
 
root@docker-lab:~/043# ls
Dockerfile  htdocs
root@docker-lab:~/043# cat Dockerfile
FROM    busybox
ADD    htdocs /usr/local/apache2/htdocs
VOLUME    /usr/local/apache2/htdocs
root@docker-lab:~/043# cat htdocs/index.html
This is the docker volume test file
root@docker-lab:~/043# docker build -t datapacked .
Sending build context to Docker daemon  3.584kB
Step 1/3 : FROM    busybox
---> d8233ab899d4
Step 2/3 : ADD    htdocs /usr/local/apache2/htdocs
---> 3aa9b54f378d
Step 3/3 : VOLUME    /usr/local/apache2/htdocs
---> Running in f72245359e14
Removing intermediate container f72245359e14
---> 6a4ea7f87be1
Successfully built 6a4ea7f87be1
Successfully tagged datapacked:latest
root@docker-lab:~/043# docker create --name vc_data datapacked
91f74a735fd653e3bf426602e79114a26209330b9c8f624b39d4ed5133fcb6ed
root@docker-lab:~/043# docker run -d -p 80:80 --volumes-from vc_data httpd
baedbbede8e3a3386dc4a23c0a96007f6aab0d5f767bb4491f73f6a67b651d47
root@docker-lab:~/043# curl http://127.0.0.1
This is the docker volume test file
 
 

相關文章