如何向swarm集群不同节点上的mongod容器提供证书进行内部authentication?

我正在docker swarm中试验mongod。 我用docker-compose文件(v3)在swarm中部署了mongod服务。 我的群由三个节点组成

node1 node2 node3

当我使用docker stack deploy --compose-file <my-docker-compose-file>部署mongod服务时,mongod服务在三个节点之间分配,然后将这些mongod实例configuration为副本集。

要在副本集中启用内部authentication,我需要提供为在容器内运行的mongod实例生成的x.509证书。 我已经生成了所有相关的证书,这些证书位于node1目录中。 现在我需要将这些证书提供给在服务中运行的容器。 我无法想出一个方法来将configuration添加到docker-compose文件,该文件将证书从node1挂载到在node2node3上运行的容器。

我努力了:

services: rs1a: ... volumes: - certs:/certs
volumes: certs: driver: local driver_opts: device:/path/to/dir/containing/certs/on/node1

它没有工作,并提出一个错误no such device

请注意,当我使用组合文件重新部署服务时,它们可能会被分发到任何随机节点,因此我需要在可共享的地方拥有所有mongod实例的证书。 我不能在节点上使用mongod实例特定的证书。 我不知道这是不是一个好的方法来解决这个问题。 如果有的话,请提出更好的方法。