使用docker run執行image並掛上vloume資料
docker run -it -p 8080:80 --name volume-test-web -v /usr/share/nginx/html/ dockerlnmp_nginx:latest /bin/bash
或者使用dockerfile的參數去掛上vloume
FROM debian:wheezy 
VOLUME /data

 

查看容器卷實際位子
docker inspect -f {{.Config.Volumes}} volume-test-web
docker volume ls
docker inspect volume-test-web | grep Mounts -A 10
"Mounts": [ 
            { 
                "Type": "volume", 
                "Name": "6a63e054cfeee1e4824250e8d5f3f1525c767c2fbaa09f15779188973748a999", 
                "Source": "/var/lib/docker/volumes/6a63e054cfeee1e4824250e8d5f3f1525c767c2fbaa09f15779188973748a999/_data", 
                "Destination": "/usr/share/nginx/html", 
                "Driver": "local", 
                "Mode": "", 
                "RW": true, 
                "Propagation": "" 
            }
所以容器內的/usr/share/nginx/html會對應到宿機器上的/var/lib/docker/volumes/6a63e054cfeee1e4824250e8d5f3f1525c767c2fbaa09f15779188973748a999/_data
資料共用
如果要授權一個容器訪問另一個容器的Volume,我們可以使用-volumes-from參數來執行docker run。
# docker run -it -h NEWCONTAINER --volumes-from volume-test-web debian /bin/bash
root@NEWCONTAINER:/# ls /usr/share/nginx/html
50x.html index.html
刪除Volume
這個功能可能會更加重要,如果你已經使用docker rm來刪除你的容器,那可能有很多的孤立的Volume仍在佔用著空間。
Volume只有在下列情況下才能被刪除:
• 該容器是用docker rm -v命令來刪除的(-v是必不可少的)。
• docker run中使用了--rm參數
參考資料

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料