[![logo](https://www.hongsnet.net/images/logo.gif)](https://www.hongsnet.net)

# Docker Swarm 도입결과

> 성공적으로 www.hongsnet.net 시스템에 Docker Swarm을 도입/운영하였으며, 여기서는 설정만을 명시한다.


# Docker Stack

```bash
# cat docker-stack.yml
version: '3'
services:
  hongsnet:
       image: registry.hongsnet.net/joohan.hong/docker/hongsnet:latest
       volumes:
        - HOME:/home
        - EDU_DATA:/home/edu/public_html/HongsBoard/Data
        - EDU_EDITOR:/home/edu/public_html/HongsBoard/Web_editor/EDU"
        - EDU_FILE:/home/edu/public_html/HongsBoard/Web_editor/FILE"
        - HONGS_DATA:/home/hongsnet/public_html/Data"
        - HONGS_EDITOR:/home/hongsnet/public_html/Web_editor/FILE"
        - NEWSYSTEM_DATA:/home/newhongsystem/public_html/Data"
        - NEWSYSTEM_EDITOR:/home/newhongsystem/public_html/Web_editor/FILE"
       ports:
        - "80:80"
        deploy:
          mode: replicated
          replicas: 5
          placement:
            constraints: [node.hostname != TB2-DOCKER]
          update_config:
            parallelism: 5
            delay: 10s
          restart_policy:
            condition: on-failure
            max_attempts: 3
            window: 120s

volumes:
  HOME:
   driver_opts:
     type: "nfs"
     o: "addr=192.192.0.254,nolock,soft,rw"
     device: ":/WEB_SRC/home"
  EDU_DATA:
   driver_opts:
     type: "nfs"
     o: "addr=192.192.0.254,nolock,soft,rw"
     device: ":/WEB_DATA/EDU/Data"
  EDU_EDITOR:
   driver_opts:
     type: "nfs"
     o: "addr=192.192.0.254,nolock,soft,rw"
     device: ":/WEB_DATA/EDU/Web_editor/EDU"
  EDU_FILE:
   driver_opts:
     type: "nfs"
     o: "addr=192.192.0.254,nolock,soft,rw"
     device: ":/WEB_DATA/EDU/Web_editor/FILE"
  HONGS_DATA:
   driver_opts:
     type: "nfs"
     o: "addr=192.192.0.254,nolock,soft,rw"
     device: ":/WEB_DATA/HONGSNET/Data"
  HONGS_EDITOR:
   driver_opts:
     type: "nfs"
     o: "addr=192.192.0.254,nolock,soft,rw"
     device: ":/WEB_DATA/HONGSNET/Web_editor/FILE"
  NEWSYSTEM_DATA:
   driver_opts:
     type: "nfs"
     o: "addr=192.192.0.254,nolock,soft,rw"
     device: ":/WEB_DATA/NEWHONGSYSTEM/Data"
  NEWSYSTEM_EDITOR:
   driver_opts:
     type: "nfs"
     o: "addr=192.192.0.254,nolock,soft,rw"
     device: ":/WEB_DATA/NEWHONGSYSTEM/Web_editor/FILE"

```

# Front-end (HA-Proxy)

```bash
# cat /etc/haproxy/haproxy.cfg
...중략
backend www_hongsnet_net

    balance roundrobin
    option  forwardfor

    option  httpchk  HEAD / HONGSNET_LVS
    option  httpclose
    cookie  SVID insert indirect nocache maxlife 10m

    redirect scheme https code 301 if !{ ssl_fc }

    # 에러 파일 설정
    errorfile 400 /etc/haproxy/errors/400.http
    errorfile 403 /etc/haproxy/errors/403.http
    errorfile 408 /etc/haproxy/errors/408.http
    errorfile 500 /etc/haproxy/errors/500.http
    errorfile 502 /etc/haproxy/errors/502.http
    errorfile 503 /etc/haproxy/errors/503.http
    errorfile 504 /etc/haproxy/errors/504.http

    http-request cache-use web_cache
    http-response cache-store web_cache

    http-request set-src src

    server  tb2.hongsnet.net 172.24.0.151:80 cookie tb2 check fall 3 rise 2
    server  tb3.hongsnet.net 172.16.0.158:80 cookie tb3 check fall 3 rise 2
    server  tb3-docker.hongsnet.net 172.16.0.251:80 cookie tb3-docker check fall 3 rise 2
```


