Day18:使用Docker Volume 的功能(二) | dockerfile volume教學
昨天已經介紹了如何使用在執行dockerrun指令,把VolumeMount起來使得Container的資料夾路徑可以Mapping到實體主機的資料夾路徑,今天要介紹的部份是透過撰寫Dockerfile的方式使用Volume的指令,這樣使用者就不用在執行dockerrun指令時指定-v參數,就可以把VolumeMount起來。另外今天還會Demo如何讓Container之間的資料共享Example1:撰寫一個Dockerfile使用VOLUME指令,把Docker的ImageBuild起來,然後啟動DockerContainer,把資料寫進在DockerContainer裡面,最後使用dockerinspect指令,找到Mapping到實體主機的資料夾路徑,確認是...
昨天已經介紹了如何使用在執行 docker run 指令,把 Volume Mount 起來使得 Container 的資料夾路徑可以 Mapping 到實體主機的資料夾路徑,今天要介紹的部份是透過撰寫 Dockerfile 的方式使用 Volume 的指令,這樣使用者就不用在執行 docker run 指令時指定 -v 參數,就可以把 Volume Mount 起來。
另外今天還會 Demo 如何讓 Container 之間的資料共享
Example1:撰寫一個 Dockerfile 使用 VOLUME 指令,把 Docker的Image Build起來,然後啟動 Docker Container,把資料寫進在 Docker Container裡面,最後使用 docker inspect 指令,找到 Mapping 到實體主機的資料夾路徑,確認是否有看到之前寫在 Container 裡面的檔案。
Dockerfile 如下 FROM centos VOLUME ["/storage"]另外在 VOLUME 指令的寫法可以寫成多個路徑,如下
VOLUME ["/storage1", "/storage2", "/storage2"] Build Image 指令如下 $ docker build -t volumetest .輸入 docker build 指令時,資料夾要切換到和 Dockerfile 檔案同一層的資料夾路徑,Build 完 Image 之後的結果如下畫面
啟動 Docker Container 指令如下 $ docker run -it volumetest /bin/bash因為 VOLUME 已經寫在 Dockerfile 裡,所以在使用 docker run 指令時沒有給 -v 參數
在 Container 裡面寫入一個檔案,如下畫面
在實體主機上使用 docker inspect 指令,找到 Volume 在實體主機的資料夾路徑
e2987aaab700 為 ContainerID...