#connet_test.yml
#db를 컨테이너로 띄워서 연결 확인 / 실제 구성 불가능

version: '3'
services:
  wordpress:
    image: wordpress
    deploy:
      replicas: 4
      placement:
        constraints: [node.role != manager]
      restart_policy:
        condition: on-failure
        max_attempts: 3
    environment:
      SERVICE_PORTS: 80
    links:
      - "dbserver:mysql"
    depends_on:
      - dbserver
    networks:
      - web

  dbserver:
    image: mariadb
    deploy:
      replicas: 1
      placement:
        constraints: [node.role != manager]
      restart_policy:
        condition: on-failure
        max_attempts: 1
    volumes:
      - ./mysql:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: test123
    networks:
      - web

  proxy:
    image: dockercloud/haproxy
    depends_on:
      - wordpress
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 80:80
    networks:
      - web
    deploy:
      mode: global
      placement:
        constraints: [node.role == manager]

networks:
  web:
    external: true
version: '3'
services:
  wordpress:
    image: wordpress
    deploy:
      replicas: 4
      placement:
        constraints: [node.role != manager]
      restart_policy:
        condition: on-failure
        max_attempts: 3
    environment:
      SERVICE_PORTS: 80
      WORDPRESS_DB_HOST: database-1.cgmf5deyqagt.us-east-1.rds.amazonaws.com
      WORDPRESS_DB_USER: admin
      WORDPRESS_DB_PASSWORD: test1234
      WORDPRESS_DB_NAME: wpdb
    networks:
      - web

  proxy:
    image: dockercloud/haproxy
    depends_on:
      - wordpress
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    ports:
      - 80:80
    networks:
      - web
    deploy:
      mode: global
      placement:
        constraints: [node.role == manager]

networks:
  web:
    external: true

DB 인스턴스 생성

admin/test1234