2017-07-08 153 views
2

當我道體積像-v /目錄:/ DIR它像它應該Dockerfile音量不工作時,-v工作

但是,當我在dockerfile使用VOLUME它被mountend空

我Dockerfile看起來像這樣

FROM ubuntu:16.04           

RUN apt-get update           
RUN apt-get install nano         
ENV Editor="/usr/bin/nano"         

ARG UID=1000            
RUN useradd -u "$UID" -G root writer      
RUN mkdir -p "/home/writer" && chown -R "$UID":1000 "/home/writer" 

RUN mkdir -p "/home/stepik"         
RUN chown -R "$UID":1000 "/home/stepik"       
VOLUME ["/home/stepik"] 

USER writer 

WORKDIR /home/stepik         
ENTRYPOINT ["bash"] 

回答

4

定義Dockerfile上的卷只會告訴docker卷需要存在於容器內,而不是從哪裏獲取卷。這與通過選項-v /dir而不是-v /dir:/dir相同。結果是一個帶匿名的「匿名」卷,您可以在docker volume ls中看到。您無法在Dockerfile中傳遞選項以確定從哪裏掛載卷,從Docker集線器拖出的映像無法從主機掛載任意目錄,並將該目錄的內容發送到互聯網設計。

請注意,我不推薦在Dockerfile中定義卷。有關更多詳細信息,請參閱my blog post on the topic