Apache spark 在docker堆栈之间共享卷?
我有两个不同的docker堆栈,一个用于HBase,另一个用于Spark。我需要将HBase jar放入spark路径。一种不用修改spark容器的方法是使用卷。在我的docker-compose.yml for HBase中,我定义了一个指向HBase主目录的卷(它恰好是/opt/HBase-1.2.6)。是否可以与spark stack共享该音量Apache spark 在docker堆栈之间共享卷?,apache-spark,docker,docker-compose,docker-swarm,Apache Spark,Docker,Docker Compose,Docker Swarm,我有两个不同的docker堆栈,一个用于HBase,另一个用于Spark。我需要将HBase jar放入spark路径。一种不用修改spark容器的方法是使用卷。在我的docker-compose.yml for HBase中,我定义了一个指向HBase主目录的卷(它恰好是/opt/HBase-1.2.6)。是否可以与spark stack共享该音量 现在,由于服务名称不同(2个不同的docker compose文件),卷被预先设置(hbase\u hbasehome和spark\u hbase
现在,由于服务名称不同(2个不同的docker compose文件),卷被预先设置(hbase\u hbasehome和spark\u hbasehome),导致共享失败。您可以使用
外部卷。见正式文件:
如果设置为true,则指定此卷是在外部创建的
组成docker compose up不尝试创建它,并引发
如果不存在,则为错误
外部卷不能与其他卷配置一起使用
钥匙(驾驶员,驾驶员选择)
在下面的示例中,不尝试创建名为
[projectname]\u data,Compose查找一个简单称为
并将其装载到db服务的容器中
例如:
version: '2'
services:
db:
image: postgres
volumes:
- data:/var/lib/postgresql/data
volumes:
data:
external: true
您还可以分别指定卷的名称和用于在撰写文件中引用卷的名称:
volumes:
data:
external:
name: actual-name-of-volume