【发布时间】:2019-10-02 18:07:44
【问题描述】:
我正在尝试使用 localhost 地址从另一个容器访问 docker 容器。
撰写文件非常简单。两个容器端口都暴露在外。 构建时没有问题。
在我的主机上我可以成功执行curl http://localhost:8124/ 并得到响应。
但在 django_container 中尝试相同的命令时,我得到 Connection refused 错误。
我尝试将它们添加到同一个网络中,结果仍然没有改变。
如果我尝试使用该容器的内部 ip 执行,例如 curl 'http://172.27.0.2:8123/',我会得到响应。
这是默认行为吗?如何使用localhost 联系clickhouse_container?
version: '3'
services:
django:
container_name: django_container
build: ./django
ports:
- "8007:8000"
links:
- clickhouse:clickhouse
volumes:
- ./django:/usr/src/run
command: bash /usr/src/run/run.sh
clickhouse:
container_name: clickhouse_container
build: ./clickhouse
ports:
- "9001:9000"
- "8124:8123"
- "9010:9009"
【问题讨论】:
-
SO上有一些类似的问题,你能说明你的问题有什么不同,或者类似问题的其他答案对你没有用吗? stackoverflow.com/search?q=%5Bdocker%5D+localhost&mixed=0
-
为什么要在另一个容器中通过 localhost 访问?您应该只使用服务的名称而不是 localhost clickhouse: 8123
标签: docker docker-compose