[英]How to build a cassandra cluster with docker on a windows machine?
我想用docker構建一個cassandra集群。 文檔已經告訴你如何這樣做,這不是我的問題。
但是我目前在Windows 10上使用Docker,顯然它無法在docker run --name some-cassandra2 -d -e CASSANDRA_SEEDS="$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' some-cassandra)" cassandra:tag
執行嵌套命令docker run --name some-cassandra2 -d -e CASSANDRA_SEEDS="$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' some-cassandra)" cassandra:tag
,導致容器的空種子列表。
如何在Windows中嵌套這樣的命令,或者 - 如果不可能 - 為此獲得解決方法?
由於Jason Giedymin的docker-compose.yml,我設法解決了這個問題 。 它應該在v1以及docker-compose的v2中工作。 通過這種方式,您只需讓docker從get go執行鏈接,並通過容器已經為您提供的環境變量告訴cassandras其他種子。
sleep 30
部分非常智能,同時確保第二個容器不會嘗試連接尚未完全啟動的容器。
我建議的一件事是使用external_links
而不是links
。 這樣,其他容器不依賴於所有cassandra容器來啟動/工作。 這將破壞分布式數據庫的目的。
我仍然不知道如何將Windows cmd命令嵌入到彼此中,所以我仍然會感謝一些提示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.