大家好,我才剛使用Docker。我的目標是掛載容器內的目錄到宿主機,而不是將宿主機的目錄掛載到容器內。。關于后者我知道可以使用-v 引數,但對于前者我不知道應該要如何去做。搜索了一下,據說可以用Volume卷,但我并不知道該如何去使用它,請大家給予幫助,謝謝。
uj5u.com熱心網友回復:
Dockerfile 定義 Volume, 然后docker run的時候 docker run -v <host_dir>:<volume_dir>比如
1) VOLUME ["/var/lib/mysql"]
2) docker run -d -v /mysql/data:/var/lib/mysql
uj5u.com熱心網友回復:
運行docker run --help 命令查看幫助檔案-v, --volume=[] Bind mount a volume
-v引數就是你說的掛載的卷。容器跑起來后,對里面所做的任何更改都是不能保存的。是只讀的,所以你那樣掛載沒有意義。你想查看容器的運行狀態?可以掛載比如/etc/等系統目錄到容器中的/etc目錄,這樣應該可以。
uj5u.com熱心網友回復:
謝謝樓主分享。來支持你了uj5u.com熱心網友回復:
你好,樓主,請問你這個問題解決了嗎?我現在也遇到同樣的問題不知道該如何解決。uj5u.com熱心網友回復:
直接訪問docker inspect -f {{.GraphDriver.Data.MergedDir}} ${containerid}所指向的目錄即可,這就是運行時容器的檔案系統。例如:
cd $(docker inspect -f {{.GraphDriver.Data.MergedDir}} test01)
如果想把容器下的某目錄映射到一個宿主機的自定義目錄,可以用mount --bind,當然ln -s 也行。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/62944.html
標籤:Docker
上一篇:使用MapReduce,300G的資料做wordcount,需要多長時間
下一篇:如何配置才能使用域名決議
