Docker撰写yml“ volume”在Ubuntu OS上不起作用

时间:2018-07-09 15:43:08

标签: windows ubuntu docker docker-compose

我正在使用docker-compose运行一个简单的Hello World世界容器。

/root/sharedFolder上应该有一个已安装的文件夹(包含我的文件),但是该文件夹为空。

我在Ubuntu OS(在Windows服务器之上)上运行Docker。这可以在普通的Ubuntu计算机上使用。

有什么想法吗?

docker-compose.yaml

version: '3'                                                                                                                    
services:                                                                                                                       
  web:                                                                                                                          
    build: .                                                                                                                    
    volumes:                                                                                                                    
    - ".:/root/sharedFolder" 

Dockerfile:

#FROM - Image to start building on.                                                                                             
FROM ubuntu:14.04                                                                                                               

#MAINTAINER - Identifies the maintainer of the dockerfile.                                                                      
MAINTAINER ian.miell@gmail.com                                                                                                  

#RUN - Runs a command in the container                                                                                          
RUN echo "Hello world" > /root/hello_world.txt                                                                                  


#CMD - Identifies the command that should be used by default when running the image as a container.                             
CMD ["sleep", "400"]                                                                                                            

1 个答案:

答案 0 :(得分:0)

与其在RUN中执行回显,不如在CMD或ENRTYPOINT中执行它。 RUN发生在映像构建阶段,CMD发生在容器启动并与卷一起运行时。

  • 在图像构建步骤中完成运行
  • CMD指定在运行内置命令时默认执行的命令 图片。

您也可以使用ENTRYPOINT来实现同样的目的

Google docker RUN vs CMD了解更多详细信息。