Docker-swarm: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Thomas (Diskussion | Beiträge) |
|||
(18 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | * | + | =install= |
+ | *apt update | ||
+ | *apt upgrade | ||
+ | *curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - | ||
+ | *add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | ||
+ | *apt update | ||
+ | *apt-get install -y docker-ce docker-compose | ||
+ | *systemctl start docker | ||
+ | *systemctl enable docker | ||
+ | =change host file= | ||
+ | ;/etc/hosts | ||
+ | 10.50.66.21 node01 | ||
+ | 10.50.66.22 node02 | ||
+ | 10.50.66.23 node03 | ||
+ | =create swarm= | ||
+ | ;node01 | ||
+ | ==swarm init== | ||
+ | ;node01 | ||
+ | *docker swarm init --advertise-addr 10.50.66.21 | ||
+ | ;node02 | ||
+ | *docker swarm join --token XXXXXXXXXX 10.50.66.21:2377 | ||
+ | ;node01 | ||
+ | *docker node promote node02 | ||
+ | ;node03 | ||
+ | *docker swarm join --token XXXXXXXXXX | ||
− | * | + | ==docker stack== |
− | + | *vi docker-compose.yml | |
− | + | <pre> | |
− | + | version: "3.5" | |
− | + | services: | |
− | + | web: | |
− | + | image: containous/whoami | |
+ | ports: | ||
+ | - "80:80" | ||
+ | # networks: | ||
+ | # - ext | ||
+ | deploy: | ||
+ | mode: replicated # replicate container on other swarm nodes | ||
+ | replicas: 3 #number of replicas | ||
+ | labels: | ||
+ | - traefik.enable=true | ||
+ | - traefik.port=80 | ||
+ | #- traefik.frontend.rule=Host:whoami.bis.info | ||
+ | #- traefik.frontend.rule=Host:whoami.d-1ropa.com | ||
+ | - traefik.frontend.rule=Host:whoami.98mti.de | ||
+ | - traefik.frontend.passHostHeader=true | ||
+ | #- traefik.frontend.rule=Host:whoami.clriser.net | ||
+ | - traefik.protocol=http | ||
+ | </pre> | ||
+ | *docker stack deploy -c docker-stack.yml $(basename $PWD) | ||
− | + | *docker service ls | |
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
<pre> | <pre> | ||
+ | ID NAME MODE REPLICAS IMAGE PORTS | ||
+ | wz126t6z1puo whoami_web replicated 3/3 containous/whoami:latest *:80->80/tcp | ||
+ | </pre> | ||
+ | *[[docker stack example]] | ||
=links= | =links= | ||
− | * | + | *https://linuxconfig.org/how-to-configure-docker-swarm-with-multiple-docker-nodes-on-ubuntu-18-04 |
+ | *https://clouding.io/kb/en-us/articles/360010288160-Docker-Swarm-on-Ubuntu-18-04 | ||
+ | *https://geek-cookbook.funkypenguin.co.nz/recipes/nextcloud/ |
Version vom 15. April 2020, 16:46 Uhr
install
- apt update
- apt upgrade
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- apt update
- apt-get install -y docker-ce docker-compose
- systemctl start docker
- systemctl enable docker
change host file
- /etc/hosts
10.50.66.21 node01 10.50.66.22 node02 10.50.66.23 node03
create swarm
- node01
swarm init
- node01
- docker swarm init --advertise-addr 10.50.66.21
- node02
- docker swarm join --token XXXXXXXXXX 10.50.66.21:2377
- node01
- docker node promote node02
- node03
- docker swarm join --token XXXXXXXXXX
docker stack
- vi docker-compose.yml
version: "3.5" services: web: image: containous/whoami ports: - "80:80" # networks: # - ext deploy: mode: replicated # replicate container on other swarm nodes replicas: 3 #number of replicas labels: - traefik.enable=true - traefik.port=80 #- traefik.frontend.rule=Host:whoami.bis.info #- traefik.frontend.rule=Host:whoami.d-1ropa.com - traefik.frontend.rule=Host:whoami.98mti.de - traefik.frontend.passHostHeader=true #- traefik.frontend.rule=Host:whoami.clriser.net - traefik.protocol=http
- docker stack deploy -c docker-stack.yml $(basename $PWD)
- docker service ls
ID NAME MODE REPLICAS IMAGE PORTS wz126t6z1puo whoami_web replicated 3/3 containous/whoami:latest *:80->80/tcp