您好我正在使用docker部署一些服务,在这里我想在不同的docker容器之间共享docker卷.
假设我有一个docker容器A,它在/ data处安装了一个卷.这是A的Dockerfile
VOLUME /data
Run Code Online (Sandbox Code Playgroud)
根据我的理解,这会将一个卷附加到容器,但它不会将主机目录挂载到容器.所以这个卷里面的数据仍然在容器A里面.
我有另一个容器B,它提供ftp服务.它访问volume/public下的数据.B的Dockerfile是
VOLUME /public
Run Code Online (Sandbox Code Playgroud)
现在我想将它们链接在一起,以便我可以使用B来管理A的数据.从docker doc https://docs.docker.com/engine/userguide/containers/dockervolumes/我将使用--volumes-fromflag将A的数据卷挂载到B.但是这个命令会将A的数据挂载到/dataB而不是/public在这种情况下,容器B无法访问数据.我没有看到任何重命名挂载点的方法.
处理此案件的任何建议或最佳做法?
非常感谢!
================================================== ==
仅数据容器为这种情况提供了一个很好的解决方案.但是如果你想使用volume-from并将数据挂载到不同的挂载点,这个问题可能会有所帮助! 如何使用Docker的--volumes-from映射卷路径?
TLDR
在中docker-compose,有什么区别
volumes:
- type: volume
source: mydata
target: /data
Run Code Online (Sandbox Code Playgroud)
和
volumes:
- type: bind
source: mydata
target: /data
Run Code Online (Sandbox Code Playgroud)
?
问题很长:
volumes在docker-compose文件中指定选项时,可以使用长语法样式
根据该文档,所述type选项接受3个不同的值:volume,bind和tmpfs:
我了解该tmpfs选项- 这意味着在关闭容器后将不会保存该卷。。
但是我在文档中找不到其他两个选项之间区别的参考:bind和volume,有人可以启发我吗?