【发布时间】:2018-01-26 12:00:26
【问题描述】:
由于 Swisscom 上的 volume service is not yet available 是否可以使用 Swisscom 云代工厂上的 docker 做这样的事情:
docker run -d --volume /mydata --name elastic-shared alpine echo My Data Container
docker run -d --volumes-from elastic-shared --name myelastic elasticsearch:latest
一个容器将用作另一个运行 elasticseach 作为持久数据存储的容器的卷。
【问题讨论】:
-
你想达到什么目的?
-
与一个elasticsearch容器共享一个--volume,能够将数据从不可变的elasticsearch容器存储到定义的--volume
-
但是为什么,为什么?你的最终目标是什么?将 elasticsearch 作为应用推送并推送另一个写入它的应用,还是什么?
-
由于 elasticsearch 使用文件系统来存储它的数据,我需要一个地方将它保存在容器之外,以便在容器重启后保存它。我还需要使用带有 JDBC 插件的 logstash,它使用文件系统来存储它的状态。我考虑过使用外部文件系统服务,但 swisscom 上还没有。
-
第二个想法是有一个 docker 应用程序,它只用于它的卷和其他容器在其中存储数据。此容器永远不会重新启动。所以我会有一个带有卷的 docker 应用程序,其他带有 elasticsearch 的 docker 应用程序将使用该卷来存储数据,并且当 elastciserach docker 重新启动时,数据不会丢失。
标签: swisscomdev