【发布时间】:2020-09-01 19:04:21
【问题描述】:
我有一个带有 db 连接的 akka http 简单应用程序,我使用 sbt native packager 插件对其进行 dockerize。 如果我像这样运行数据库:
docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres
和应用程序:
docker run -p 8080:8080 --network="host" --rm my-system-backend:0.1
一切正常,我可以发出 curl 请求,应用程序正在进行适当的数据库调用等。 但是当我使用 docker-compose 时它不起作用,然后我有错误:
curl: (56) Recv failure: Connection reset by peer
version: '3'
services:
backend:
image: my-system-backend:0.1
environment:
DB_URL: "jdbc:postgresql://database:5432/db"
ports:
- 8080:8080
depends_on:
- database
database:
image: postgres:13
ports:
- 5432:5432
environment:
POSTGRES_USERNAME: "postgres"
POSTGRES_PASSWORD: "postgres"
POSTGRES_DB: "db"
volumes:
- ./databasedata:/var/lib/postgresql/data/
build.sbt 的一部分:
lazy val root = (project in file("."))
.configs(IntegrationTest)
.settings(
Defaults.itSettings,
libraryDependencies ++= ...,
dockerExposedPorts ++= Seq(8080)
)
.enablePlugins(FlywayPlugin, JavaAppPackaging)
任何想法为什么这不起作用?
【问题讨论】: