Wordpress развертывает реплики со многими узлами и трафиком - PullRequest
0 голосов
/ 11 февраля 2019

Когда я подключаюсь к WordPress, сайт просит меня снова войти в систему через несколько секунд.кластер имеет более одного узла, и проблема возникает только при попытке развернуть несколько реплик.В Интернете все предлагают использовать traefik, но даже пытаясь найти и использовать некоторую документацию и пример, проблема остается.Код выглядит следующим образом: если у кого-то есть идеи или что-то подобное, я был бы очень полезным.Я никогда не использовал трафик или прокси в целом, поэтому я немного не готов к этому вопросу.

version: '3.1'
services:

  traefik:
    image: traefik
    command: --docker --docker.swarmmode \
               --docker.watch \
               --web \
               --loglevel=DEBUG
    ports:
      - 8081:80
      - 9095:8080
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints: [node.role == manager]
    networks:
      - rete

  wordpress:
    depends_on:
      - database
    image: 'wordpress:php7.2-apache'
    restart: always
    deploy:
      replicas: 5
      labels: 
        - "traefik.docker.network=sito_rete"
        - "traefik.port=8090"
        - "traefik.frontend.rule=Host:192.168.1.5"
        - "traefik.backend.loadbalancer.sticky=true"
        - "traefik.backend.loadbalancer.swarm=true"
    ports:
      - '8090:80'
    environment:
      WORDPRESS_DB_HOST: database
      WORDPRESS_DB_USER: user
      WORDPRESS_DB_PASSWORD_FILE: /run/secrets/db_password
      WORDPRESS_DB_NAME: db
    secrets:
      - db_password
    volumes:
      - 'wp_data:/var/www/html'
    networks:
      - rete

  database:
    image: 'mysql:5.7'
    environment:
      MYSQL_DATABASE: db
      MYSQL_USER: user
      MYSQL_PASSWORD_FILE: /run/secrets/db_password
      MYSQL_ROOT_PASSWORD_FILE: /run/secrets/db_root_password
    secrets:
      - db_password
      - db_root_password
    volumes:
      - 'wp_db_data:/var/lib/mysql'
    networks:
      - rete
secrets:
  db_password:
    external: true
  db_root_password:
    external: true
volumes:
  wp_db_data:
    external: true
  wp_data:
    external: true

networks:
  rete:
    driver: overlay

1 Ответ

0 голосов
/ 11 февраля 2019

Я предполагаю, что вы используете рой.

https://docs.traefik.io/v1.7/configuration/backends/docker/#using-docker-with-swarm-mode

метки должны быть определены в разделе deploy.

version: '3.1'
services:

  traefik:
    image: traefik
    command: --docker --docker.swarmmode \
               --docker.watch \
               --web \
               --loglevel=DEBUG
    ports:
      - 8081:80
      - 9095:8080
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints: [node.role == manager]
    networks:
      - rete

  wordpress:
    depends_on:
      - database
    image: 'wordpress:php7.2-apache'
    restart: always
    deploy:
      replicas: 5
      labels: 
        - "traefik.docker.network=sito_rete"
        - "traefik.port=8090"
        - "traefik.frontend.rule=Host:192.168.1.5"
        - "traefik.backend.loadbalancer.sticky=true"
        - "traefik.backend.loadbalancer.swarm=true"
    ports:
      - '8090:80'
    environment:
      WORDPRESS_DB_HOST: database
      WORDPRESS_DB_USER: user
      WORDPRESS_DB_PASSWORD_FILE: /run/secrets/db_password
      WORDPRESS_DB_NAME: db
    secrets:
      - db_password
    volumes:
      - 'wp_data:/var/www/html'
    networks:
      - rete

  database:
    image: 'mysql:5.7'
    environment:
      MYSQL_DATABASE: db
      MYSQL_USER: user
      MYSQL_PASSWORD_FILE: /run/secrets/db_password
      MYSQL_ROOT_PASSWORD_FILE: /run/secrets/db_root_password
    secrets:
      - db_password
      - db_root_password
    volumes:
      - 'wp_db_data:/var/lib/mysql'
    networks:
      - rete
secrets:
  db_password:
    external: true
  db_root_password:
    external: true
volumes:
  wp_db_data:
    external: true
  wp_data:
    external: true

networks:
  rete:
    driver: overlay
...