使用Docker compose连接到另一个容器

我需要一起使用两个容器:一个使用Tomcat,另一个使用数据库.我创建了以下描述服务的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 inspect)并在将Tomcat连接池配置到数据库时使用它.
根据我的理解,应该链接两个容器,我希望在端口5432上的localhost上找到数据库.否则我看到链接容器的好处很少.
我的理解是否正确?任何指导将不胜感激!

最佳答案
使用您在文件中定义的别名“db”来引用数据库主机名.

Containers for the linked service will be reachable at a hostname
identical to the alias, or the service name if no alias was specified.

转载注明原文:使用Docker compose连接到另一个容器 - 代码日志