Created
January 21, 2017 23:27
-
-
Save vfarcic/fd7d7e04e1133fc3c90084c4c1a919fe to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
for i in 1 2 3; do | |
docker-machine create -d virtualbox node-$i | |
done | |
eval $(docker-machine env node-1) | |
docker swarm init \ | |
--advertise-addr $(docker-machine ip node-1) | |
TOKEN=$(docker swarm join-token -q worker) | |
for i in 2 3; do | |
eval $(docker-machine env node-$i) | |
docker swarm join \ | |
--token $TOKEN \ | |
--advertise-addr $(docker-machine ip node-$i) \ | |
$(docker-machine ip node-1):2377 | |
done | |
eval $(docker-machine env node-1) | |
docker node ls | |
docker service create --name go-demo-db \ | |
mongo:3.2.10 | |
docker service inspect --pretty go-demo-db | |
docker service rm go-demo-db | |
docker network create --driver overlay go-demo | |
docker service create --name go-demo-db \ | |
--network go-demo \ | |
mongo:3.2.10 | |
docker service inspect --pretty go-demo-db | |
docker service create --name util \ | |
--network go-demo --mode global \ | |
alpine sleep 1000000000 | |
docker service ps util | |
ID=$(docker ps -q --filter label=com.docker.swarm.service.name=util) | |
docker exec -it $ID apk add --update drill | |
docker exec -it $ID drill go-demo-db | |
docker network create --driver overlay proxy | |
docker network ls -f "driver=overlay" | |
docker service create --name go-demo \ | |
-e DB=go-demo-db \ | |
--network go-demo \ | |
--network proxy \ | |
vfarcic/go-demo:1.0 | |
docker service create --name proxy \ | |
-p 80:80 \ | |
-p 443:443 \ | |
-p 8080:8080 \ | |
--network proxy \ | |
-e MODE=swarm \ | |
vfarcic/docker-flow-proxy | |
docker service ps proxy | |
curl "$(docker-machine ip node-1):8080/v1/docker-flow-proxy/reconfigure?serviceName=go-demo&servicePath=/demo&port=8080" | |
curl -i "$(docker-machine ip node-1)/demo/hello" | |
curl -i "$(docker-machine ip node-3)/demo/hello" | |
NODE=$(docker service ps proxy | tail -n +2 | awk '{print $4}') | |
eval $(docker-machine env $NODE) | |
ID=$(docker ps -q \ | |
--filter label=com.docker.swarm.service.name=proxy) | |
docker exec -it \ | |
$ID cat /cfg/haproxy.cfg | |
eval $(docker-machine env node-1) | |
docker service scale go-demo=5 | |
ID=$(docker ps -q --filter label=com.docker.swarm.service.name=util) | |
docker exec -it $ID apk add --update drill | |
docker exec -it $ID drill go-demo | |
docker-machine rm -f node-1 node-2 node-3 |
Not a port issue, confirmed port exposed
nmap -p 27017 go-demo-db
Starting Nmap 7.12 ( https://nmap.org ) at 2020-01-07 17:25 UTC
Nmap scan report for go-demo-db (10.0.1.2)
Host is up (-0.20s latency).
PORT STATE SERVICE
27017/tcp filtered mongod
MAC Address: 02:42:0A:00:01:04 (Unknown)
Nmap done: 1 IP address (1 host up) scanned in 0.46 seconds
Some progress
The problem is with the proxy network, removing this from the service create command allows the service to be created.
$ docker service create --name go-demo -e DB=go-demo-db --network go-demo vfarcic/go-demo:latest
qfqpgs962otjbulsfof0wzvnt
overall progress: 1 out of 1 tasks
1/1: running [==================================================>]
verify: Service converged
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Might be a port issue.
docker network create --attachable --driver overlay go-demo
I needed to make the network attachable to run below.
Should the create service for mongo expose the default port?