Как запустить приложение docker с Nginx на VPS? - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть VPS, на котором я запустил приложение в docker -композиции. Это приложение работает на порту 8000. Когда я ввожу VPS_IP_ADDRESS: 8000, мой сайт работает здесь, но я не могу переслать его на my-domain.com. Только я могу видеть my-domain.com:8000

К сожалению, я не знаю, что я делаю неправильно. Phpmyadmin также работает. Моя текущая nginx конфигурация:

server {
    listen 80;

    server_name www.my-domain.com my-domain.com;
    root /var/www/my_project;
    index index.php index.html index.htm;

    location / {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header   X-Forwarded-For $remote_addr;
        proxy_set_header   Host $http_host;
        proxy_set_header   X-Real-IP $remote_addr;
    }
}

docker -compose.yml

version: '3'

services:

  db:
    image: mysql:5.7
    container_name: vps_mysql
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
      MYSQL_DATABASE: ${DB_DATABASE}
      MYSQL_USER: ${DB_USER}
      MYSQL_PASSWORD: ${DB_PASSWORD}
    networks:
      - wpsite


  phpmyadmin:
    depends_on:
      - db
    image: phpmyadmin/phpmyadmin
    container_name: vps_phpmyadmin
    restart: always
    ports:
      - '7000:80'
    environment:
      PMA_HOST: db
      MYSQL_ROOT_PASSWORD: ${DB_PASSWORD} 
    networks:
      - wpsite


  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    container_name: vps_wordpress
    ports:
      - '8000:80'
    restart: always
    volumes: 
      - './:/var/www/html/wp-content/themes/my_project/'
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: ${DB_USER}
      WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}
    networks:
      - wpsite

networks:
  wpsite:
volumes:
  db_data:

enter image description here

Редактировать

что интересно, если я сделаю:

upstream wordpress {
  server 127.0.0.1:7000;
}

переадресация домена на phpmyadmin, так что это выглядит хорошо, но если я переключу upstream на 8000, тогда порт все еще будет виден с доменом.

...