Ошибка неправильный тип порта в компосе docker
Хочу запустить в докере эмулятор сервера. Пошелестил интернет и набросал: Докер питона:
FROM python:3.9
WORKDIR /app
COPY requirements.txt /app
RUN pip install --upgrade pip && python -m pip install -r requirements.txt
EXPOSE 5000
COPY . /app
Докер nginx:
FROM nginx:1.20-alpine
RUN rm /etc/nginx/conf.d/default.conf
COPY nginx.conf /etc/nginx/conf.d
RUN mkdir -p /home/web/default
Конфиг Nginx:
server {
listen 8000;
server_name 127.0.0.1;
root /home/web/default;
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;
location / {
proxy_pass http://app:5000;
proxy_set_header X-Forwarded-For $proxy_add_x_forwaded_for;
proxy_set_header Host $host;
proxy_redirect off;
}
}
Докер-компос:
version: '3'
services:
nginx:
build: ./nginx
ports:
- ["80:8000"]
volumes:
- ./static:home/web/default/static
depends_on:
- app
app:
build: ./app
container_name: flask_
command: gunicorn --bind 0.0.0.0:5000 app:wsgi
environment:
- DATABASE_URL='mysql://flask__user:flask__password@db:3306/flask__mysql_db'
volumes:
- ./app:/app
expose:
- 5000
depends_on:
- db
db:
container_name: flask_test_mysql_db
restart: always
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: root_password
MYSQL_USER: 'flask__user'
MYSQL_PASS: 'flask__password'
MYSQL_DATABASE: 'flask__mysql_db'
#volumes: - ./mysql_db/var/lib/mysql
#command: --default-authentication-plugin=mysql_native_password
adminer:
image: adminer
restart: always
ports:
- ["8080:8080"]
Сначала была ошибка, что порт должен быть в скобках. Поставил. Теперь такая ошибка:
services.adminer.ports contains an invalid type, it should be a number, string, or an object
services.nginx.ports contains an invalid type, it should be a number, string, or an object
В интернете нашел аналогичную проблему, там было сказано, что тип порта надо в кавычки. Поставил, но не помогло