从主机

时间:2018-12-01 15:17:27

标签: docker docker-volume

我用一些默认静态资源创建一个Web服务器容器。我想使用nginx代理主机中的静态文件和Nginx服务,因此我需要从主机访问容器中的静态文件,我尝试在运行容器时将--volume设置为下方:

docker run -d 
    --name=some-server 
    -p 8080:8080 
    -v /var/myserver/data:/app/static
    some-server-image 

,主机目录/var/myserver/data是一个空目录,我发现主机目录覆盖了容器的目录。

有什么方法可以从主机访问容器的数据?或任何其他解决方案。非常感谢!

PS:我必须使用git版本控制来管理静态文件,因此某些解决方案(例如管理静态文件)会使用其他第三方服务,而不适合我。

1 个答案:

答案 0 :(得分:0)

Take a look here。我认为问题出在您的符号上,您应该指定源,而不是源目录

尝试:

docker run -d 
  --name=some-server 
  -p 8080:8080 
  -v my_nginx_new_volume:/app/static
  some-server-image

这应该创建一个新卷,其中填充了容器/app/static目录中的数据。

最好使用--mount表示法,而不是-v表示法

docker run -d \
  --name=nginxtest \
  --mount source=my_nginx_new_volume,destination=/app/static \
  -p 8080:8080 \
  some-server-image