windows
  • docker
  • cmd
  • cassandra
  • 2017-04-12 51 views 3 likes 
    3

    我想用docker構建一個cassandra集羣。 The documentation已經告訴你如何做到這一點,所以這不是我的問題。如何在Windows機器上使用docker構建cassandra集羣?

    但是,我目前在Windows 10上使用Docker,顯然它不能執行docker run --name some-cassandra2 -d -e CASSANDRA_SEEDS="$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' some-cassandra)" cassandra:tag中的嵌套命令,這會導致容器的空種子列表。

    如何在Windows中嵌入像這樣的命令,或者 - 如果這不可行 - 請爲此解決方法?

    回答

    2

    我設法解決它,這要歸功於docker-compose.yml by Jason Giedymin。它應該在v1和docker-compose的v2中工作。通過這樣做,您只需讓docker從起始處執行鏈接,然後使用容器已經爲您提供的環境變量告訴cassandras其他種子。

    sleep 30部分非常智能,它確保第二個容器不會嘗試連接尚未完全啓用的容器。

    我會推薦的一件事是使用external_links而不是links。這樣其他容器不依賴於所有的cassandra容器來開始/工作。這將破壞分佈式數據庫的目的。

    我仍然不知道如何將Windows cmd命令嵌套到對方,所以我仍然會感謝一些提示。

    相關問題