У меня docker-compose.yml
выглядит так:
version: "3.2"
services:
web:
build: /Users/marcin/Docker/definitions/php-nginx/php-7.2-ubuntu
volumes:
- /some_dir/:/some_dir
working_dir: /usr/share/nginx/html/
links:
- db
container_name: name.web
hostname: name.local
expose:
- "10015"
ports:
- "313:22"
- "8313:80"
- "18313:443"
environment:
- VIRTUAL_HOST=name.local,name-be.local,name-com.local,subdomain.name-com.local
- CERT_NAME=default
- HTTPS_METHOD=noredirect
networks:
- default
- proxy_default
db:
build: /Users/marcin/Docker/definitions/mysql/8.0
environment:
- MYSQL_ROOT_PASSWORD=pass
- MYSQL_DATABASE=
- MYSQL_USER=
- MYSQL_PASSWORD=
expose:
- 3306
volumes:
- /Users/marcin/Docker/projects/name.local/mysql/data/:/var/lib/mysql/
- /Users/marcin/Docker/projects/name.local/mysql/conf.d/:/etc/mysql/conf.d/source
- /Users/marcin/Docker/projects/name.local/mysql/log/:/var/log/mysql/
ports:
- "33313:3306"
container_name: name.db
hostname: name.local
networks:
proxy_default:
external:
name: proxy_default
Я захожу на этот сайт (в веб-браузере), используя name.local
и subdomain.name-com.local
доменные имена - без проблем.
Однако сегодня мне пришлось выполнить несколько тестов, и я обнаружил, что при запуске:
wget http://name.local
Я могу получить контент сайта без проблем, но когдаработает
wget http://subdomain.name -com.local
этот хост не может быть разрешен.
Как я могу это сделатьоба домена будут направлять трафик на одни и те же хосты?
То, что я сейчас делал, смотрел на /etc/hosts
, и я добавил те же IP-адреса, которые я там нашел, для domain.local
ниже
имя хоста: имя.local
строка такая:
extra_hosts:
- "subdomain.name-com.local:192.168.0.3"
- "subdomain.name-com.local:172.19.0.3"
и теперь, похоже, работает нормально.Тем не менее, мне не очень нравится это решение (хотя оно, кажется, работает без проблем), потому что мне приходится жестко задавать здесь некоторые IP-адреса, и я не уверен, будут ли они меняться или нет.
Можно ли как-то добавить сюда псевдонимы имени хоста вместо указания некоторых магических IP-адресов?