连接到使用Docker撰写的另一个容器

我需要一起使用两个容器:一个使用Tomcat,另一个使用数据库。 我创build了以下描述服务的yaml文件:

postgredb: image: postgres expose: - 5432 ports: - 5432:5432 environment: - POSTGRES_USER=user - POSTGRES_PASSWORD=password tomcat: image: tomcat links: - postgredb:db ports: - 8080:8080 

一旦启动docker-compose,我可以看到我无法从Tomcat访问数据库,除非我检索数据库的IP地址(通过docker检查),并在将Tomcat连接池configuration到数据库时使用它。 根据我的理解,这两个容器应该被链接,我期望在端口5432上的本地主机上find数据库。否则,我没有看到链接容器的好处。 我的理解是正确的吗? 任何指导将非常感谢!

使用您在文件中定义的别名“db”来引用数据库主机名。

链接服务的容器将可以在与别名相同的主机名上访问,如果没有指定别名,则服务名称是可访问的。