容器之间没有创建链接

时间:2016-05-29 01:17:24

标签: docker docker-compose

我有一个非常简单的2容器应用程序,1个运行Tomcat,另一个运行Redis。我试图使用docker-compose,但容器之间的链接不起作用。

如果我只是使用以下命令运行,那么一切都很开心。

docker run -d --name db redis
docker run -d -P --name web --link db web

当我尝试使用下面的docker-compose.yml文件时,容器之间没有链接。

version: '2'
 services:
  web:
   image: web
  links:
   - redis
  ports:
   - "8080:8080"
 redis:
  image: redis

使用docker-compose没有创建环境变量,而/ etc / hosts文件没有更新。

我很困惑,因为这实际上是我在很多网站上找到的几个例子的副本,包括docker.com。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

在撰写的第2版中,您不需要链接。您应该能够连接到redis容器,只需引用主机名redis即可。它不会出现在环境变量或/ etc / hosts中,因为网络现在是docker中的一流功能,而是使用内置的DNS解析。

由于新的网络模型进入,每个容器都在网络上启动(默认情况下为default),并且可以使用其服务或容器名称相互通信。