Вам необходимо связать веб-сервис с контейнером nginx, docker-compose будет выглядеть так:
services:
nginx:
image: nginx:latest
restart: unless-stopped
volumes:
- ./data/nginx/app.conf:/etc/nginx/nginx.conf
- ./data/nginx/error.log:/etc/nginx/error_log.log
- ./data/nginx/cache/:/etc/nginx/cache
- /etc/letsencrypt/:/etc/letsencrypt/
environment:
- ENV=production
- APPLICATION_URL=http://myapp.domain
ports:
- 80:80
- 443:443
links:
- web
web:
depends_on:
- nginx
image: "myapp:0.1.0"
restart: unless-stopped
expose:
- "4000"
env_file:
- config/docker.env
Затем обновите data/nginx/app.conf
events {
}
http {
client_max_body_size 20m;
proxy_cache_path /etc/nginx/cache keys_zone=one:500m max_size=1000m;
server {
proxy_cache one;
listen 80;
listen 443 ssl;
server_name myapp.domain;
location / {
proxy_pass http://web:4000;
rewrite ^/myapp.domain(.*)$ $1 break;
}
ssl_certificate /etc/letsencrypt/live/myapp.domain/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/myapp.domain/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
}
}