2016-07-10 82 views
1

我想從我的主機掛載一個目錄到Docker容器,並且我想在容器內進行一些修改。但是,當我修改安裝點上的內容時,更改也會反映在主機上。Docker和卷nocopy

例如:

$ docker run -d --name webserver01 -v /home/guest/app:/app 

後,我在/ app

$ docker exec -ti webserver01 'touch /app/test.txt' 

的文件test.txt是我的主機上創建和容器內進行的容器裏面的一些變化(想法是隻在容器內創建文件)

我試着用國旗nocopy但我有這個錯誤:

$ docker run -d --name webserver01 -v /home/guest/app:/app:nocopy 
docker: Error response from daemon: Invalid bind mount spec "/home/guest/app:/app:nocopy": invalid mode: nocopy. 

泊塢版本

$ docker --version 
Docker version 1.11.1, build 5604cbe/1.11.1 

感謝您的幫助!

回答

2

可能有某種方法可以隱藏文件,但使用Docker卷描述的內容不可行,因爲容器上的目錄是主機上目錄的裝入,而不是被複制的文件。

nocopy修飾符適用於當您創建卷並且容器的路徑中已存在數據時,您可以指定是否希望在創建卷時複製數據。

您可能需要設計一個卷結構,以便您創建的文件不在共享捲上。

+0

我嘗試使用Dockerfile上的ADD命令複製文件的另一種方法,但文件位於與Dockerfile和Docker不同的位置不允許此:( – mrbit01