gpt4 book ai didi

docker - Docker主机名备用名称

转载 作者:行者123 更新时间:2023-12-02 20:04:34 36 4
gpt4 key购买 nike

我的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.localsubdomain.name-com.local域名访问此网站(在Web浏览器中),没有任何问题。

但是今天我不得不运行一些测试,发现运行时:

wget http://name.local



运行时我可以毫无问题地获取网站内容

wget http://subdomain.name-com.local



该主机无法解析。

如何使两个域都将流量定向到同一主机?

我目前所做的只是查看 /etc/hosts,并在下面添加了与 domain.local相同的IP

主机名:name.local

像这样的行:
extra_hosts:
- "subdomain.name-com.local:192.168.0.3"
- "subdomain.name-com.local:172.19.0.3"

现在看来一切正常。但是,我不太喜欢这种解决方案(尽管它似乎可以正常工作,但没有任何问题),因为我必须在此处对一些IP地址进行硬编码,并且不确定它们是否会更改。

是否可以通过某种方式在此处添加主机名的别名,而不是指定一些不可思议的IP地址?

最佳答案

为了定义主机名别名,您应该使用network aliases功能:

ALIASES Aliases (alternative hostnames) for this service on the network. Other containers on the same network can use either the service name or this alias to connect to one of the service’s containers.



以您的示例为例:
services:
web:
container_name: name.web
hostname: name.local
networks:
default:
aliases:
- subdomain.name-com.local
proxy_default
aliases:
- subdomain.name-com.local

关于docker - Docker主机名备用名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50816991/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com