gpt4 book ai didi

docker - 如何使用 docker-compose 设置主机名?

转载 作者:行者123 更新时间:2023-12-02 01:33:05 25 4
gpt4 key购买 nike

我已经使用 docker-compose 设置了一些 docker-container。

当我通过 docker-compose up 启动它们时,我可以通过它们公开的端口访问它们,例如localhost:9080localhost:9180

我真的很想通过主机名访问它们,localhost:9180 应该可以在我的本地主机上通过 api.locallocalhost:9080< 访问 通过 webservice.local

我怎样才能做到这一点?这是 docker-compose 可以做的事情,还是我必须在我的本地主机上使用反向代理?

目前我的 docker-compose.yml 看起来像这样:

api:
build: .
ports:
- "9180:80"
- "9543:443"
external_links:
- mysql_mysql_1:mysql
links:
- booking-api

webservice:
ports:
- "9080:80"
- "9443:433"
image: registry.foo.bar:5000/webservice:latest
volumes:
- ~/.docker-history:/.bash_history
- ~/.docker-bashrc:/.bashrc
- ./:/var/www/virtual/webservice/current

最佳答案

不,你不能这样做。

/etc/hosts 文件只解析主机名。因此它只能将 localhost 解析为 127.0.0.1

如果你添加一行api.local 127.0.0.1:9180 它不会工作。

你唯一能做的就是在你的主机上设置一个反向代理(比如 nginx)来监听 api.local 并将请求转发到 localhost:9180 .

关于docker - 如何使用 docker-compose 设置主机名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32988586/

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