Порт и хост по умолчанию можно задать через переменные в docker-compose.yml:
version: '3.4'
services:
app:
build:
context: ..
dockerfile: ./docker/Dockerfile
restart: ${APP_RESTART_MODE:-always}
volumes:
- static:/usr/src/app/static
- ${APP_PUBLIC_DIR:-./data}:/usr/src/app/public:rw
environment:
APP_SERVER_HOSTS: ${APP_SERVER_HOSTS:-www.project.com}
APP_SERVER_PORT: ${APP_SERVER_PORT:-8080}
nginx:
build:
context: .
dockerfile: ./Dockerfile-nginx
restart: ${APP_RESTART_MODE:-always}
environment:
NGINX_HOST: ${APP_SERVER_HOSTS:-www.project.com}
NGINX_PORT: ${APP_SERVER_PORT:-8080}
ports:
- "${APP_SERVER_PORT:-8080}:${APP_SERVER_PORT:-8080}"
volumes:
- static:/usr/src/app/static
- ${APP_PUBLIC_DIR:-./data}:/usr/src/app/public:ro
command: /bin/ash -c "envsubst < /etc/nginx/conf.d/default.conf.tpl > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
depends_on:
- app
links:
- app
А изменить значения по умолчанию можно в файле
.env (должен лежать в той же папке что и docker-compose.yml):
APP_RESTART_MODE=unless-stopped
APP_SERVER_HOSTS=project42.local www.project42.com
APP_SERVER_PORT=8181