我正在运行具有3-Master和3-Worker节点的Docker Swarm。 在这个Swarm上,我有一个Elastic搜索容器,该容器从多个日志文件读取数据,然后将数据写入目录。后来它从该目录读取数据,并在UI上向我显示日志。
现在的问题是,我只运行了这个Elastic Search Container的1个实例,并说由于某种原因它掉了,然后docker swarm在另一台机器上启动了它。因为我有6台机器,所以我已经在所有机器上创建了特定目录,但是每当我启动docker堆栈时,ES容器就会启动并开始在正在运行的机器上读取/写入目录。
有没有办法
或
答案 0 :(得分:4)
两者都可用。
强制Docker群在特定计算机上运行容器
在执行--constraint
时添加docker service create
标志。一些introduction。
将卷映射到共享/网络驱动器
将Docker卷与支持将文件写入外部存储系统(例如NFS或Amazon S3)的驱动程序一起使用。更多introduction。