答案1
免责声明:我不是专家活动商店。Event Store 可能存在一些特定功能,使得它不太适合从我不知道的容器中运行。
一般来说,您可以将大多数服务“dockerise”,并且它们的性能可以与服务器上本地运行的服务一样好。
需要注意的事项包括:
- 你的数据存储在哪里
- 你的配置文件保存在哪里
- 需要什么表现
- 那么安全
数据:由于示例中容器的运行方式,您的数据将位于容器“内部”。删除或升级容器,您的数据将永远消失。
使你的数据持久使用数据量或者数据卷容器. 这些将您的数据保存在主机上(它们的 Dockerfile 已经支持它,请参阅VOLUME
)。
还有一些存储解决方案允许您使用以下方式远程访问数据音量插件。
配置文件:与您的数据一样。您可以将配置文件保存在数据卷(容器)中,也可以通过 Dockerfile 传递它们(就像他们在 Dockerfile 中所做的那样)。
表现:在某些情况下,使用 Docker 与使用本机相比可能会略微降低性能。请参阅https://stackoverflow.com/q/21889053/4459346
安全:由于示例中容器的运行方式,事件存储将暴露在主机上。任何人都可以从外部访问它们。要将它们保留在主机本地,请使用-p 127.0.0.1:1113:1113
。
在我工作的公司,我在容器中设置了一台mysql
服务器。数据和配置文件“存储”在数据卷容器中。我还设置了一个 cron 作业,运行另一个容器将数据备份mysql
到主机。
许多应用程序(也已“docker化”)都乐于使用mysql
这种方式。我们没有看到与mysql
本地运行有什么区别。一次可以有 50 多个用户。