docker победа 10: локальный хост 403 запрещен - PullRequest
0 голосов
/ 29 января 2020

Уже неделю я пытаюсь отобразить простой индекс. html с использованием Docker под Win 10. Docker работает, моя docker -композиция создает контейнеры и тома, мой индекс. html копируется в контейнер php. Я добавил

127.0.0.1 localhost
127.0.0.1 dev.local.fr

в windows хосты, но когда я пытаюсь использовать любой URL, localhost, 127.0.0.1 или dev.local.fr или свернуть их в командной строке, я получаю только 403 запрещено. Это мой docker -compose.yml:

    version: "3.2"
services:
  php:
    image: wodby/drupal-php:7.2-dev-4.8.4
    networks:
      - backend
    volumes:
      - ./project/:/var/www/html/

  apache:
    image: wodby/apache:2.4-4.0.2
    depends_on:
      - php
      - mysql
    networks:
      - frontend
      - backend
    ports:
      - "8080:80"
    volumes:
      - ./project/:/var/www/html/
    environment:
      APACHE_DOCUMENT_ROOT: /var/www/html
      VIRTUAL_HOST: "dev.local.fr"
      VIRTUAL_PORT: 80

  mysql:
    image: mysql:5.6.40
    networks:
      - backend
    environment:
      - MYSQL_ROOT_PASSWORD=rootpassword
networks:
  frontend:
  backend:

(но в любом случае со стороны Docker все выглядит нормально ...) Я прочитал сотни сообщений в Интернете и не могу найти способ добраться до моего индекса. html из любого браузера. Я думал, что, возможно, мне следует добавить несколько Vhosts в httpd.conf (как я делал это в Xampp или Wamp), но я не нашел этот файл в контейнере apache, и в любом случае, я понятия не имею, как добавить директивы для Vhosts в httpd.conf из моего docker -compose yml. Но это моя личная идея, поскольку нигде в документах Docker не указано, что мы должны отредактировать httpd.conf, чтобы он работал. Буду очень признателен за любую помощь или идею, мне действительно нужно получить работающий сервер, так как я профессиональный разработчик Drupal ...

С уважением.

1 Ответ

0 голосов
/ 30 января 2020

Наконец-то я нашел: добавление одного httpd.conf в сборку помогло. Мне нужно было также использовать Dockerfile, чтобы сделать копию.

docker -compose.yml:

version: "3.2"
services:
    php:
      build:
        context: ./apache-php
      image: php:7.2-apache
      working_dir: /var/www/html
      volumes:
        - ./project:/var/www/html
      extra_hosts:
        - "pfg.local.fr:127.0.0.1"
      hostname: pfg.local.fr
      ports:
         - 80:80  

httpd.conf:

Listen 80
<VirtualHost *:80>
    DocumentRoot /var/www/html
    ServerName dev.local.fr
</VirtualHost>

Dockerfile:

FROM php:7.2.1-apache
COPY httpd.conf /etc/apache2/sites-available/000-default.conf

Каталоги:

apache-php
  ¬ Dockerfile
  ¬ httpd.conf
docker-compose.yml
index.html

(И чтобы быть полным, я также ранее разрешил для 10.0.75.0, 10.0.75.1 и 10.0.75.2 в Norton Firewall.)

Так что теперь я могу попытаться создать свой Drupal. Будем надеяться, что это не займет еще неделю!

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