为redis主机配置docker container ip

时间:2017-12-12 21:25:51

标签: docker redis docker-compose dockerfile docker-machine

我正在尝试使用docker-compose为docker配置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主机变量设置为172.18.0.2?变量会在另一台机器上发生变化吗?

1 个答案:

答案 0 :(得分:3)

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

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

version: '3'

services:
  redis:
    image: redis

  nodejs_app:
    image: myapp

然后您可以将redis主机变量设置为redis