Docker Swarm Configuration for InkBlink
Requirements
| Tailscale Download (MAC/PC) | Download | Tailscale |
| Docker Swarm (PC) | Windows | Docker Docs |
Docker Swarm + Tailscale
Due to conflicts between docker swarm initializing a custom network as the listening address, a tailscale image will run in a container to provide access to host as a proxy.
Steps to Initialize Tailscale Proxy (One machine in swarm cluster)
docker compose -f tailscale-compose.yaml up -d
#IPv4 Address of Container Running Tailscale (not local machine ip)
#Use this IP to initialize Docker Swarm
docker exec tailscale-proxy tailscale ip -4
To verify docker swarm has been initiated, check if port 2377 is listening
netstat -an | grep 2377
Expected Terminal Output
$ netstat -an | grep 2377
TCP [::1]:2377 [::]:0 LISTENING
Initialize Docker Swarm
#$DOCKER_IP is the result of docker exec tailscale-proxy tailscale ip -4
docker swarm init --advertise-addr "$DOCKER_IP" --listen-addr 0.0.0.0:2377
Join Docker Swarm as Manager
docker swarm join --token SWMTKN-1-3d5d79nba8q7gwtjhdawcl6eanznxn9fvhjrpcwjqx7vwfijya-65qikauecpqd0dbulv5rlnl7m 100.79.134.37:2377
Join Docker Swarm as Worker**
docker swarm join --token SWMTKN-1-2uhvdl1275df55gfuf8hheurl3r4j6wat80mh1b1w20h4xsrih-86evlwxl0mx9o0cuwompj6xtm 100.79.134.37:2377
Initialize Docker Swarm
TAILSCALE_IP=$(tailscale ip -4)
echo "Tailscale IP is : $TAILSCALE_IP"
docker swarm init --advertise-addr "$TAILSCALE_IP" --listen-addr 0.0.0.0:2377