Копирование vhost.conf
в образ докера повлияет на порт сервера apache внутри контейнера. Не то, как к нему осуществляется доступ с физического компьютера.
vhost.conf не должен быть связан с именем хоста ServerName myapp.dev
, потому что внутри контейнера имя хоста будет другим.
Измените ServerName
, чтобы принятьзапросы от 127.0.0.1
или *
Для доступа к приложению из браузера необходимо выполнить сопоставление портов хоста и контейнера
docker run --name <container-name> -p 80:80 -d <image-name>
Эта команда привязывает порт хоста к порту контейнера,(В этом случае веб-сервер работает на порте 80 и настроен для связывания с портом хоста 80)
Для получения дополнительной информации -
В файле docker-compose он используется следующим образом - https://docs.docker.com/compose/networking/
version: "3"
services:
apache:
image: apache:latest
ports:
- "80:80"
Пример, без использования docker-compose. Но как только контейнер находится в рабочем состоянии, привязка порта может быть проверена, как описано.
Проверьте, успешно ли привязка порта, используя вывод docker container ls
$ docker run --name mynginx1 -p 80:80 -d nginx
ba2565a8e7e4a3e5909cb055603eb5161dd50e6f17019b2a9f11ba9b2b4888e4
$ docker container ls | grep mynginx1
ba2565a8e7e4 nginx "nginx -g 'daemon of…" 12 seconds ago Up 10 seconds 0.0.0.0:80->80/tcp mynginx1
Далее, Обновите /Файл etc / hosts с необходимым DNS-именем.