Пожалуйста, обратитесь к разделу Несколько портов официальных документов nginx-proxy . В вашем случае, помимо установки обязательной переменной VIRTUAL_HOST
env (без этого контейнер не будет обратно прокси-сервером сервис nginx-proxy
), вы должны установить переменную VIRTUAL_PORT
, так как nginx-proxy
по умолчанию будет иметь значениеслужба работает на порту 80
, но ваша app
служба привязана к порту 3838
.
Попробуйте этот файл docker-compose.yml
, чтобы проверить, работает ли он:
version: "3"
services:
nginx-proxy:
image: jwilder/nginx-proxy
ports:
- "80:80"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
app:
build:
context: .
dockerfile: ./app/Dockerfile
image: rocker/shiny
container_name: docker-app
restart: always
expose:
- 3838
environment:
- VIRTUAL_HOST=app.localhost
- VIRTUAL_PORT=3838