Docker-swarm: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
(16 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 5: Zeile 5:
 
*add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
 
*add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
 
*apt update
 
*apt update
*apt-get install -y docker-ce
+
*apt-get install -y docker-ce docker-compose
 
*systemctl start docker
 
*systemctl start docker
 
*systemctl enable 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>
 +
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://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

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

links