Docker-swarm: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
(19 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
*cardassia ~ # docker-machine create -d virtualbox local
+
=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
  
*cardassia ~ # eval "$(docker-machine env local)"
+
==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]]
  
*cardassia ~ #  docker-machine ls
+
=links=
NAME    ACTIVE  DRIVER      STATE    URL                        SWARM
+
*https://linuxconfig.org/how-to-configure-docker-swarm-with-multiple-docker-nodes-on-ubuntu-18-04
local  *       virtualbox  Running  tcp://192.168.99.100:2376
+
*https://clouding.io/kb/en-us/articles/360010288160-Docker-Swarm-on-Ubuntu-18-04
 
+
*https://geek-cookbook.funkypenguin.co.nz/recipes/nextcloud/
 
 
*cardassia ~ # docker run swarm create
 
<pre>
 
Unable to find image 'swarm:latest' locally
 
latest: Pulling from library/swarm
 
2bc79aec8ea0: Pull complete
 
dc2fb86a875a: Pull complete
 
435e648d0f23: Pull complete
 
e16042a92d05: Pull complete
 
045bd7b00b5b: Pull complete
 
3caea1253d76: Pull complete
 
2b4c55187a27: Pull complete
 
6b40fe7724bd: Pull complete
 
Digest: sha256:51a30269d3f3aaa04f744280e3c118aea032f6df85b49819aee29d379ac313b5
 
Status: Downloaded newer image for swarm:latest
 
036e2c984bfde4d5693995ffe0535f35
 
<pre>
 

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