From d80a2f564cb1c729928ba2ccedcb7481d2fcc1e0 Mon Sep 17 00:00:00 2001 From: Melvin Vivas Date: Tue, 7 Nov 2017 00:03:22 +0800 Subject: [PATCH] added docker stack sample using traefik --- minidemo-project-stack.yml | 31 +++++++++++++++++ traefik-stack.yml | 69 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100644 minidemo-project-stack.yml create mode 100644 traefik-stack.yml diff --git a/minidemo-project-stack.yml b/minidemo-project-stack.yml new file mode 100644 index 0000000..3bc3b92 --- /dev/null +++ b/minidemo-project-stack.yml @@ -0,0 +1,31 @@ +version: "3.3" +services: + + ms1: + image: melvindave/spring-boot-example + ports: + - "8080:8080" + networks: + - backend + depends_on: + - mongodb + deploy: + replicas: 1 + + mongodb: + image: mongo + ports: + - "27017:27017" + volumes: + - "mongodata:/data/db" + networks: + - backend + deploy: + replicas: 1 + +networks: + backend: + +volumes: + mongodata: + diff --git a/traefik-stack.yml b/traefik-stack.yml new file mode 100644 index 0000000..913688f --- /dev/null +++ b/traefik-stack.yml @@ -0,0 +1,69 @@ +version: "3.3" +services: + traefik: + image: traefik + command: --web \ + --docker \ + --docker.swarmmode \ + --docker.domain=traefik \ + --docker.watch \ + --logLevel=DEBUG + networks: + - traefik-net + ports: + - "80:80" + - "8080:8080" + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - /dev/null:/traefik.toml + deploy: + placement: + constraints: [node.role==manager] + + portainer: + image: portainer/portainer + volumes: + - "/var/run/docker.sock:/var/run/docker.sock" + - "portainerdata:/data" + networks: + - traefik-net + deploy: + placement: + constraints: [node.role == manager] + labels: + - "traefik.enable=true" + - "traefik.port=9000" + - "traefik.docker.network=mystack_traefik-net" + - "traefik.frontend.rule=Host:portainer.traefik" + + ms1: + image: melvindave/spring-boot-example + networks: + - traefik-net + depends_on: + - mongodb + deploy: + replicas: 1 + labels: + - "traefik.enable=true" + - "traefik.port=8080" + - "traefik.docker.network=mystack_traefik-net" + - "traefik.frontend.rule=Host:ms1.traefik" + + mongodb: + image: mongo + volumes: + - "mongodata:/data/db" + networks: + - traefik-net + deploy: + replicas: 1 + ports: + - "27017:27017" + +networks: + traefik-net: + +volumes: + mongodata: + portainerdata: \ No newline at end of file