我在 DigitalOcean 上使用 Dokku 部署了一个 Rails 应用程序。我创建了一个 Postgres 数据库并将其与 Rails 应用程序链接。在我重新启动 droplet 之前,一切正常。我发现应用程序停止工作是因为重新启动每个 Docker 容器都会获得一个新端口,而 Rails 应用程序无法连接到它。如果我运行dokku postgresql:info myapp
它会显示旧端口,但它已经改变了。如果我手动更改 database.yml 并将其推送到 dokku 存储库,一切正常。
那么如何防止Docker在每次服务器重启时分配不同的端口呢?或者也许有一个选项可以更改正在运行的容器的端口。