我有几个容器需要状态 – 我只会将比例设置为1,但我希望它,以便无论他们在卷上开始哪个主机将被共享.
我猜想我需要使用网络安装来实现这个(这是很好的),但是如何使用docker swarm 1.12配置卷?
我知道我可以使用docker卷创建,我想我可能需要指定一个驱动程序,但我很难找到一个这样的例子!
最佳答案
docker服务create –mount …为持久数据提供两个选项;绑定挂载和命名卷.绑定挂载在创建的主机上持续存在,因此不会为您工作,因为不可共享.
命名卷可以使用docker卷创建或隐式创建,作为docker服务createusing –mount选项的一部分,例如.
$docker volume create -d --driver cio --name cassandradb --opt profile=CASSANDRA
$docker service create \
--mount source=cassandradb,target=/var/lib/cassandra,volume-driver=cio \
--replicas 1 \
--name cassandra \
cassandra
docker服务将默认值创建为命名卷,因此该示例中未指定类型.卷驱动程序支持便携式卷.其他卷驱动程序,如RexRay或Flocker也支持便携式卷.这是一篇关于RexRay的例子的文章.
还有 – 用于卷标签和卷选项的安装选项. Docker站点上的官方文档还没有出现.但是,您可以在绑定安装和命名卷here上获取更多信息.