Задать вопрос
Ответы пользователя по тегу Веб-разработка
  • Как в docker работать с несколькими проектами?

    Порт и хост по умолчанию можно задать через переменные в 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
    Ответ написан
    Комментировать