从主机访问 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
我创建了一个带有一些默认静态资源的网络服务器容器。我想使用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