<실습 문제>

docker-compose 로 구성했던 워드프레스를 적절하게 수정하여 stack deploy를 해보세요.

단, DB는 manager 노드의 /db 폴더에 데이터베이스가 저장되어야 하고

3대의 wordpress 컨테이너들은 워커에서 동작해야 한다.


[[ Manager (.200) 노드 안에 ]]

Etcd ⇒ 각 노드들 및 컨테이너들의 현재 상태와 정보가 담겨있는 저장소가 존재한다!

Overlay 네트워크에는 DNS도 존재하며 컨테이너의 이름으로 라우팅이 가능하다!

mkdir /stack root@manager:~# cd /stack root@manager:/stack# docker node ls

vi wp.yml

하고

version: "3"

services:
  wp:
    image: wordpress
    deploy:
      replicas: 3
      placement:
        constraints: [node.role != manager] # == [node.role == worker]
    environment:
      WORDPRESS_DB_HOST: "db"
      WORDPRESS_DB_USER: "wpuser"
      WORDPRESS_DB_PASSWORD: "1234"
      WORDPRESS_DB_NAME: "wordpress"
    ports:
      - "8005:80"
    depends_on:
      - "db"
    networks:
        - web

  db:
    image: mariadb
    deploy:
      placement:
        constraints: [node.role == manager]
    environment:
      MYSQL_ROOT_PASSWORD: "1234"
      MYSQL_DATABASE: "wordpress"
      MYSQL_USER: "wpuser"
      MYSQL_PASSWORD: "1234"
    volumes:
      - "/mdb:/var/lib/mysql"
    networks:
        - web

networks:
  web:
    external: true