Inconsistent Node Status on Docker Toolbox

I’m starting a cluster of nodes across two datacentres using Docker Toolbox for Windows 7; on Docker for Mac OS I don’t see the same issue.

The issue is that on Windows 7 only two of the nodes are showing in “docker ps -a” as being healthy, and it’s only these two that I can “cockroach sql --insecure” into to be able to run SQL commands. If I attempt to do the same on the other three nodes it just blocks.

The CockroachDB Cluster Overview however is showing 5 live nodes with no under-replicated ranges, so there does seem to be a discrepancy.

The commands I am running are:

docker-compose up -d

to start the cluster using the YML file shown below, and then running the commands

winpty docker exec -it roach-o bash
/cockroach/cockroach init --insecure

to initialise the cluster.

Why the discrepancy, and would you suggest an alternative way to start the cluster (aside from not using Windows 7 which is a company requirement!!) - thanks.

version: '2.1'

networks:
  shared:
    driver: bridge
  dc0:
    driver: bridge
  dc1:
    driver: bridge
    
volumes:
  roach0-data:
  roach1-data:
  roach2-data:
  roach3-data:
  roach4-data:

services:

  # DC 0 ROACHES

  roach-0:
    container_name: roach-0
    image: cockroachdb/cockroach
    volumes:
      - roach0-data:/cockroach/cockroach-data    
    networks:
      - shared
      - dc0
    command: start --logtostderr=INFO --insecure --locality=datacenter=dc-0 --join=roach-0,roach-1,roach-2
    healthcheck:
      test: /cockroach/cockroach sql --insecure -e "show databases;"
      interval: 1s
    ports:
      - 8000:8080
      - 9000:26257

  roach-1:
    container_name: roach-1
    image: cockroachdb/cockroach
    volumes:
      - roach1-data:/cockroach/cockroach-data    
    networks:
      - shared
      - dc0
    command: start --logtostderr=INFO --insecure --locality=datacenter=dc-0 --join=roach-0,roach-1,roach-2
    healthcheck:
      test: /cockroach/cockroach sql --insecure -e "show databases;"
      interval: 1s
    ports:
      - 8001:8080
      - 9001:26257

  # DC 1 ROACHES

  roach-2:
    container_name: roach-2
    image: cockroachdb/cockroach
    volumes:
      - roach2-data:/cockroach/cockroach-data
    networks:
      - shared
      - dc1
    command: start --logtostderr=INFO --insecure --locality=datacenter=dc-1 --join=roach-0,roach-1,roach-2
    healthcheck:
      test: /cockroach/cockroach sql --insecure -e "show databases;"
      interval: 1s
    ports:
      - 8002:8080
      - 9002:26257

  roach-3:
    container_name: roach-3
    image: cockroachdb/cockroach
    volumes:
      - roach3-data:/cockroach/cockroach-data
    networks:
      - shared
      - dc1
    command: start --logtostderr=INFO --insecure --locality=datacenter=dc-1 --join=roach-0,roach-1,roach-2
    healthcheck:
      test: /cockroach/cockroach sql --insecure -e "show databases;"
      interval: 1s
    ports:
      - 8003:8080
      - 9003:26257
      
  roach-4:
    container_name: roach-4
    image: cockroachdb/cockroach
    volumes:
      - roach4-data:/cockroach/cockroach-data
    networks:
      - shared
      - dc1
    command: start --logtostderr=INFO --insecure --locality=datacenter=dc-1 --join=roach-0,roach-1,roach-2
    healthcheck:
      test: /cockroach/cockroach sql --insecure -e "show databases;"
      interval: 1s
    ports:
      - 8004:8080
      - 9004:26257