我在 docker 容器中设置了一个 Elixir / Phoenix 应用程序,并为 Postgresql 服务器设置了一个单独的容器。当我暴露 5432 端口时,我只能连接到 Postgresql 服务器。但我不希望端口公开,因为这非常不安全。Postgresql 服务器应该只能从 phoenix 容器访问。
但是,如果我不公开端口,我只会在 phoenix 容器中收到“连接被拒绝”错误。
app-phoenix-1 | 2016-03-15T11:41:32.701295542Z ** (Mix) The database for App.Repo couldn't be created, reason given: psql: could not connect to server: Connection refused
app-phoenix-1 | 2016-03-15T11:41:32.701369511Z Is the server running on host "POSTGRES" (10.7.0.7) and accepting
app-phoenix-1 | 2016-03-15T11:41:32.701395350Z TCP/IP connections on port 5432?
我链接了该服务,但没有得到,为什么它不起作用。Postgresql 已启动并正在运行。
Postgres 容器的日志文件中没有任何内容。
这是docker ps
在我的节点上的结果:
8204a82ca192 myrepo/app "elixir --erl '-smp d" 37 seconds ago Up Less than a second 0.0.0.0:80->4000/tcp app-phoenix-1.585afb94
7a4dded80c36 postgres:latest "/docker-entrypoint.s" 2 hours ago Up 10 minutes 5432/tcp postgres-1.aed0697d
Postgres 容器以某种方式阻止了来自我的凤凰容器的所有连接。任何线索如何解决这个问题?