Как указать домены для контейнера?

  • 23 августа 2023 г. 14:06
Ответы на вопрос 1
Как указать домены для контейнера, чтобы они отображались не через localhost и как направить эти домены на соответствующие папки внутри контейнера, показано ниже:

1. Откройте файл hosts на вашей операционной системе и добавьте записи для каждого домена, которые должны быть привязаны к IP-адресу контейнера. Например, добавьте следующие записи:

```
127.0.0.1 test.loc
```

2. В файле docker-compose.yml добавьте directive extra_hosts для каждого домена, чтобы привязать его к IP-адресу контейнера:

```
extra_hosts:
    - 'test.loc:127.0.0.1'
```

3. Запустите контейнер с помощью docker-compose up, и теперь вы сможете открывать домен test.loc в браузере.

4. Внутри контейнера настройте Apache для перенаправления запросов на соответствующие папки. Например, в файле конфигурации Apache test.loc.conf добавьте следующие директивы:

```
<VirtualHost *:80>
    ServerName test.loc
    ServerAlias www.test.loc
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/test.loc
    ErrorLog /var/www/html/test.loc/error.log
    CustomLog /var/www/html/test.loc/access.log combined

    <Directory /var/www/html/test.loc>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
```

5. Переопределите директиву volumes в файле docker-compose.yml, чтобы скопировать файл конфигурации внутрь контейнера:

```
volumes:
    - './apache/test.loc.conf:/etc/apache2/sites-available/test.loc.conf'
```

6. Перезапустите контейнер, чтобы изменения вступили в силу, и теперь домен test.loc будет направлен на папку /var/www/html/test.loc внутри контейнера.
Похожие вопросы