Сопоставление контейнера docker с обычным доменным именем dev


Я новичок в docker и недавно установил контейнер/образ docker с помощью phpdocker.io (php7, nginx, mysql) генератор. Начал его с помощью docker-compose, и он работает потрясающе.

Если я перейду на localhost / phpinfo.php моя обычная системная версия php загружается (5.6), если я захожу на localhost:8080/фпинфо.php my docker php версия загружается (7.0), поэтому он работает нормально.

Мой вопрос: есть ли способ сопоставить мой localhost:8080 с обычным доменным именем, как я обычно делаю с моими обычными проектами localhost? Без необходимости использовать localhost: 8080 то есть: myproject.dev

Не уверен, связано ли это конкретно с Докером или нет.

2 3

2 ответа:

Это легко. если ваш nginx config выглядит так:

server {
   server_name _; #catch all
   ...

Вы можете добавить в файл hosts на вашем хост-компьютере строку

127.0.0.1 myproject.dev

И ваш контейнер будет доступен по url http://myproject.dev:<exposed_port>

Если вы предоставляете свой контейнер на 80 порту, вы можете просто ввести url http://myproject.dev (как в старые добрые времена). Но помните, что вы можете запустить только один контейнер на 80 портов одновременно.

Просто в качестве примечания, nginx conf на проектах, созданных phpdocker.io ответит на любое имя хоста, поэтому вам просто нужно добавить соответствующую запись в файл hosts.