docker集装箱不能够访问端口5432

我有一个试图连接postgres db(jdbc:postgresql:// xxxxxxx:5432 / My_DB)的spring应用程序。 当我使用“java -jar app.jar”命令运行jar时,它连接的很好。但是当我在Docker容器中运行时,它无法连接。 下面是我用来运行的命令。

docker run -p 5432:5432 my_image:latest 

它看起来像5432是不是在容器里面打开似乎。 我遇到过类似的post,但没有提供任何解决scheme。 Postgres 9.1的Docker容器不公开端口5432到主机

对此有何想法?

谢谢

你必须在Docker文件中特别使用Expose 5432 。 否则不允许通过容器暴露。