为redis主机configurationdocker容器ip

我正在尝试使用docker-composeconfigurationdocker的redis。 因此redis容器正在运行,如果我想连接到在nodeJs服务器上运行redis的容器,我应该使用哪个ip地址?

$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES aa3adc6041aa redis "docker-entrypoint..." About an hour ago Up 14 minutes 0.0.0.0:6379->6379/tcp redis $ docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' redis 172.18.0.2 

这是否意味着我应该设置env redis主机variables为172.18.0.2? 将variables在不同的机器上变化?

您希望避免使用IP地址,因为它们在机器之间以及docker-compose环境的不同运行之间会有所不同

如果使用docker-compose启动容器,则可以通过名称引用同一文件中的其他容器。 换句话说,如果你有:

 version: '3' services: redis: image: redis nodejs_app: image: myapp 

然后,您可以将您的redis主机variables设置为redis