我想用docker搭建一个cassandra集群。 The documentation已经告诉你如何做到这一点,所以这不是我遇到的问题。
但是我目前在 Windows 10 上使用 Docker,显然它无法在 docker run --name some-cassandra2 -d -e CASSANDRA_SEEDS="$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' some-cassandra)"cassandra:tag
导致容器的种子列表为空。
我如何在 Windows 中嵌套这样的命令,或者 - 如果这不可能 - 获得解决方法?
最佳答案
感谢 docker-compose.yml by Jason Giedymin,我设法修复了它.它应该在 docker-compose 的 v1 和 v2 中工作。通过这种方式,您只需让 docker 从一开始就进行链接,并使用容器已经为您提供的环境变量告诉 cassandras 有关其他种子的信息。
sleep 30
部分非常智能,它确保第二个容器不会尝试连接到尚未完全启动的容器。
但我会推荐的一件事是使用 external_links
而不是 links
。这样其他容器就不会依赖所有的 cassandra 容器来启动/工作。这将破坏分布式数据库的目的。
我仍然不知道如何将 Windows cmd 命令相互嵌套,所以我仍然会感谢您提供一些提示。
关于windows - 如何在windows机器上用docker搭建cassandra集群?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43364645/