Настроить локальный прокси через файл Docker compose? - PullRequest
1 голос
/ 11 мая 2019

У меня есть изображение, которое я использовал в течение долгого времени, и оно отлично работает. Это позволяет мне раскручивать новый проект, и через файл компоновки у меня есть все, что мне нужно для начала работы. Единственное, чем я всегда был разочарован, так это очевидной сложностью заставить некоторых прокси работать на локальную разработку.

В настоящий момент я получаю веб-сервер, который позволит мне получить доступ к работающему контейнеру через localhost. Для моего здравомыслия я бы хотел иметь возможность провести myproject.test или что-то в этом роде. Есть ли в любом случае это можно сделать через файл compose? Я пытался искать в течение нескольких дней, но я не могу найти способ сделать это, но кажется, что-то, что не должно быть так сложно.

Мой составной файл выглядит так:

version: ‘2’

services:
  webserver:
    build: ./docker/webserver
    image: perch
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./www:/var/www/html
    links:
      - db
    env_file:
      - web-variables.env

  db:
    image: mysql:5.7
    command: mysqld --sql_mode=""
    ports: 
      - "3306:3306"
    volumes:
      - ./db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=xxx
      - MYSQL_DATABASE=db_xxx

Мой Dockerfile:

FROM php:7.2-apache
RUN apt-get update -y && apt-get install -y \
        mcrypt \
        imagemagick \
        libpng-dev \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        curl \
        libcurl4-openssl-dev \
        libxpm-dev \
        libvpx-dev \
    && docker-php-ext-configure gd \
    --with-freetype-dir=/usr/lib/x86_64-linux-gnu/ \
    --with-jpeg-dir=/usr/lib/x86_64-linux-gnu/ \
    --with-xpm-dir=/usr/lib/x86_64-linux-gnu/ \
    --with-vpx-dir=/usr/lib/x86_64-linux-gnu/ \
    && docker-php-ext-install \
        pdo \
        pdo_mysql \
        gd \
        curl \
    && a2enmod \
        rewrite \
        ssl \
        actions \
        include \
        cgi \
    && service apache2 restart

1 Ответ

0 голосов
/ 11 мая 2019

AFAIK, вы не можете сделать это только , настроив свой docker-compose.yml (по крайней мере, я не знаю ни одного изображения, которое бы делало это возможным - но на самом деле это было бы круто!)

Что вы можете сделать, это смонтировать предварительно сконфигурированный файл конфигурации для вашего обратного прокси-сервера внутри контейнера веб-сервера, а затем адаптировать его к вашим потребностям. То, что вы не можете динамически сделать, это заставить ваш браузер перейти на ваш обратный прокси-сервер, нажав http://myproject.test. * Для этого вам необходимо настроить файл /etc/hosts. Конечно, вы можете сделать это на своей машине, если этого достаточно для вас.

(*) Хорошо, вы могли бы сделать это, но это не совсем правильно, пожалуйста, исправьте меня, если вы думаете иначе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...