How to deploy to two machines?

I want to use Docker to deploy Weaviate on two machines,The starting command for Docker is:

my node1 machine docker run this :

docker run -d -p 3081:8080
-p 7100:7100
-p 7101:7101
-v $PWD/data:/var/lib/weaviate
–name weaviate
–restart=always
-e AUTHORIZATION_ADMINLIST_ENABLED=true
-e AUTHORIZATION_ADMINLIST_USERS=admin
-e AUTHENTICATION_APIKEY_ENABLED=true
-e AUTHENTICATION_APIKEY_ALLOWED_KEYS=WVF5RgsX3tD5ngdN8pkiy
-e AUTHENTICATION_APIKEY_USERS=admin
-e PERSISTENCE_DATA_PATH=/var/lib/weaviate
-e CLUSTER_HOSTNAME=node1
-e CLUSTER_GOSSIP_BIND_PORT=7100
-e CLUSTER_DATA_BIND_PORT=7101
semitechnologies/weaviate

node2 machine docker run this:

docker run --name weaviate
-p 3081:8080
-p 7102:7102
-p 7103:7103
-v $PWD/data:/var/lib/weaviate
-e AUTHORIZATION_ADMINLIST_ENABLED=true
-e AUTHORIZATION_ADMINLIST_USERS=admin
-e AUTHENTICATION_APIKEY_ENABLED=true
-e AUTHENTICATION_APIKEY_ALLOWED_KEYS= WVF5RgsX3tD5ngdN8pkiy
-e AUTHENTICATION_APIKEY_USERS=admin
-e PERSISTENCE_DATA_PATH=/var/lib/weaviate
-e CLUSTER_HOSTNAME=node2
-e CLUSTER_GOSSIP_BIND_PORT=7102
-e CLUSTER_DATA_BIND_PORT=7103
-e CLUSTER_JOIN=10.254.140.134:7100
semitechnologies/weaviate

Node 2 starts and reports the following error:

{“action”:“startup”,“default_vectorizer_module”:“none”,“level”:“info”,“msg”:“the default vectorizer modules is set to "none", as a result all new schema classes without an explicit vectorizer setting, will use this vectorizer”,“time”:“2023-09-27T03:53:44Z”}
{“action”:“startup”,“auto_schema_enabled”:true,“level”:“info”,“msg”:“auto schema enabled setting is set to "true"”,“time”:“2023-09-27T03:53:44Z”}
{“action”:“broadcast_abort_transaction”,“error”:“host "172.17.0.2:7101": send http request: Delete "http://172.17.0.2:7101/schema/transactions/9ecd4dc0-ace9-439c-986f-e1945ddcc389\”: dial tcp 172.17.0.2:7101: connect: connection refused",“id”:“9ecd4dc0-ace9-439c-986f-e1945ddcc389”,“level”:“error”,“msg”:“broadcast tx abort failed”,“time”:“2023-09-27T03:53:44Z”}
{“action”:“startup”,“error”:“could not load or initialize schema: sync schema with other nodes in the cluster: read schema: open transaction: broadcast open transaction: host "172.17.0.2:7101": send http request: Post "http://172.17.0.2:7101/schema/transactions/\”: dial tcp 172.17.0.2:7101: connect: connection refused",“level”:“fatal”,“msg”:“could not initialize schema manager”,“time”:“2023-09-27T03:53:44Z”}

Hi @chris_hoo !

I believe the problem is that those two containers might not be able to consistently communicate with each other.

while using docker, you should avoid using IPs, as those are subject to be changed.

I believe you have seen this post (saw you comment there):

Where you able to use it?

Ah! And welcome to our community :wink:

Hello, I’m currently facing the same issue. Have you figured out how to solve the error? :thinking: