我用一些默认静态资源创建一个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版本控制来管理静态文件,因此某些解决方案(例如管理静态文件)会使用其他第三方服务,而不适合我。
答案 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