链接不在容器之间创build

我有一个非常简单的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创build的环境variables,而/ etc / hosts文件没有更新。

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

在撰写的第二版中,你不需要链接。 你应该能够连接到redis容器只是指主机名redis 。 它不会出现在环境variables或/ etc / hosts中,因为networking现在是docker中的一streamfunction,而是使用内置的DNSparsing。

自从新的networking模型进入后,每个容器都在networking上启动( default为er,默认),并且可以通过使用其服务或容器名称相互通信。