所以我在docker-compose.yml
中有这个东西:
version: "3"
services:
redis:
image: redis
ports:
- "6379:6379"
api:
image: api
ports:
- "5555:5555"
restart: always
depends_on:
- "redis"
links:
- "redis"
但是当我尝试访问API容器中的localhost:6379
时,会引发无法连接错误。
我尝试过network_mode: host
,但这是仅Linux的解决方案,不适用于Windows上的Docker。
我在Windows上有哪些替代方案?
答案 0 :(得分:0)
在api
容器中,使用redis
主机名而不是localhost
进行连接。因此您应该改为连接到redis:6379
。
答案 1 :(得分:0)
来自Networking features in Docker for Windows:
已知限制,用例和解决方法
我想从容器连接到主机上的服务
主机的IP地址正在更改(如果没有网络访问权限,则没有IP地址)。从18.03开始,我们建议连接到特殊的DNS名称
host.docker.internal
,该名称解析为主机使用的内部IP地址。这是出于开发目的,不适用于Docker for Windows以外的生产环境。网关也可以通过
gateway.docker.internal
访问。