我有一个 docker-compose yml 文件,如下所示
version: '2'
services:
nodejs:
build:
context: .
dockerfile: DockerFile
ports:
- "4000:4000"
links:
- redis
expose:
- "6379"
redis:
build:
context: .
dockerfile: Dockerfile-redis
我的目标是将nodejs-127.0.0.1端口6379转发到redis主机。我已经可以从nodejs机器上ping通redis,但端口没有映射成功。尝试使用expose选项,但也没有成功。
127.0.0.1::6379
(其中6379是容器端口),但没有得到预期的结果。 - rfaylocalhost
映射到127.0.0.1
,因为这只适用于IPv4。许多机器会首先尝试IPv6,这可能会导致某些情况下的失败。如果您想为IPv6端口转发localhost,则还需要添加[::1]
。在yaml中,整行应写为:- "[::1]:3901:3901"
。 - undefined