从主机访问 docker 容器的目录

Access docker container's directory from host

我创建了一个带有一些默认静态资源的网络服务器容器。我想使用nginx来代理静态文件,而主机中的Nginx服务,所以我需要从主机访问容器中的静态文件,我尝试在[=24=时设置--volume ] 容器如下:

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

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

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

PS:我必须使用git版本控制来管理静态文件,所以管理静态文件等一些解决方案使用其他第三方服务,不适合我。

Take a look here。我认为问题出在你的符号上,你应该指定源 volume,而不是源 directory.

试试:

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