Как указать домены для контейнера, чтобы они отображались не через 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 внутри контейнера.