Nginx Конфигурация в Docker - PullRequest
       18

Nginx Конфигурация в Docker

0 голосов
/ 15 апреля 2020

Я пытаюсь настроить nginx внутри docker контейнера. Однако я не могу достичь своего ip сервера без определения номера порта (8000). Кажется, nginx не может прослушивать 80 портов или что-то в этом роде. Я почти перепробовал каждое решение на inte rnet, но оно все равно.

Вот моя docker -compose.yml:

version: '3'

services:
  app:
    build:
      context: .
    ports:
      - "8000:8000"
    env_file:
      - django.env
    volumes:
      - ./app:/app
      - /static:/static
    command: >
      sh -c "python3 manage.py migrate &&
             python3 manage.py wait_for_db &&
             gunicorn app.wsgi -b 0.0.0.0:8000"

    environment:
      - DB_HOST=db
      - DB_NAME=app
      - DB_USER=postgres
      - DB_PASS=supersecretpassword
    depends_on:
      - db

  db:
    image: postgres:10-alpine
    environment:
      - POSTGRES_DB=app
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=supersecretpassword
    ports:
      - "5432:5432"
    volumes: 
      - pgdata:/var/lib/postgresql/data
      - pgconf:/etc/postgresql
      - pglog:/var/log/postgresql
  nginx:
    build: ./nginx
    ports:
      - "10080:80"
      - "10443:443"
    volumes:
      - ./app:/app
      - ./config/nginx:/etc/nginx/conf.d
      - /static:/static
    expose:
      - "8000"
    depends_on:
    - app

volumes:
  pgdata:
    driver: local
  pgconf:
    driver: local
  pglog: 
    driver: local

и nginx конфигурация:

upstream app {
  ip_hash;
  server my_server_ip:8000;
}

server {
    location /static {
        autoindex on;
        alias /static/
     }

location / {
    proxy_pass http://app;
}

listen 80;
server_name my_server_ip;
}

Спасибо за помощь.

...