Проблема с соединением существующего контейнера nginx и нового контейнера WordPress - PullRequest
0 голосов
/ 05 февраля 2019

У меня работает контейнер nginx.Работает отлично.Но теперь мне нужно добавить новый контейнер с WordPress из другого файла docker-compose.yml.

После создания нового контейнера мой сайт не работает с порта 80 и выдает ошибку 502 Bad Gateway.Порт 8000 работает нормально.

wordpres-docker-compose.yml

version: '3.7'
services:
  db:
    image: mysql:5.7
    container_name: mysql_5_7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    env_file:
      - ./.env
    environment:
      MYSQL_ROOT_PASSWORD: ${ROOT_PASSWORD}
      MYSQL_DATABASE: ${DB_NAME}
      MYSQL_USER: ${DB_USER}
      MYSQL_PASSWORD: ${DB_PASSWORD}
    networks:
      - app-network

  wordpress:
    image: wordpress:latest
    container_name: my_site
    depends_on:
      - db
    networks:
      - app-network
    ports:
      - "8000:80"
    volumes:
      - ./:/var/www/html
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_NAME: ${DB_NAME}
      WORDPRESS_DB_USER: ${DB_USER}
      WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}

networks:
  app-network:
    external: true

volumes:
  db_data:

nginx-docker-compose.yml

version: '3'
services:
  nginx:
    image: nginx:latest
    container_name: docker_nginx
    restart: unless-stopped
    tty: true
    volumes:
      - ./conf.d/:/etc/nginx/conf.d/
      - /home/user/www/:/usr/local/www/
    ports:
      - 80:80
      - 443:443
    external_links:
      - my_site
    networks:
      - app-network

networks:
  app-network:
    external: true

site-nginx.conf

upstream mysite{
  server site:8000;
}

server {
        listen 0.0.0.0:80;
        server_name www.site.com site.com;

        access_log /usr/local/www/site/log/nginx.access.log;
        error_log /usr/local/www/site/log/nginx.error.log;

        location / {
                proxy_pass http://mysite;
                client_max_body_size 100M;
        }
}

Ответы [ 2 ]

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

Нужно освободить все вложенные приложения без портов.

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

Я считаю, что server site:8000; в вашем site-nginx.conf файле должно быть server my_site:8000; из-за container_name, который вы определили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...