Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Docker和PostgreSQL数据库中同时使用Java?_Java_Postgresql_Docker_Heroku_Heroku Postgres - Fatal编程技术网

如何在Docker和PostgreSQL数据库中同时使用Java?

如何在Docker和PostgreSQL数据库中同时使用Java?,java,postgresql,docker,heroku,heroku-postgres,Java,Postgresql,Docker,Heroku,Heroku Postgres,我正在开发Heroku玩具应用程序,希望使用PostgreSQL数据库存储配置。我看到了关于如何在Docker上使用Java+PostgreSQL或Java的教程 我找不到在Docker+PostgreSQL中如何使用Java的方法 注意:数据库是一个相当不重要的部分。它可以是任何可以保存信息的东西,比如Redis和其他数据库 我看了StackOverflow、教程和Heroku doc,但到目前为止,没有运气 如何在Heroku上的Docker中从Java连接到PostgreSQL 如何在He

我正在开发Heroku玩具应用程序,希望使用PostgreSQL数据库存储配置。我看到了关于如何在Docker上使用Java+PostgreSQL或Java的教程

我找不到在Docker+PostgreSQL中如何使用Java的方法

注意:数据库是一个相当不重要的部分。它可以是任何可以保存信息的东西,比如Redis和其他数据库

我看了StackOverflow、教程和Heroku doc,但到目前为止,没有运气

如何在Heroku上的Docker中从Java连接到PostgreSQL

如何在Heroku上的Docker中从Java连接到PostgreSQL

相关文档可在以下URL中找到:

总之,Heroku为PostgreSQL提供本机支持(独立于Docker),您的Java应用程序可以通过专用环境变量
database\u URL
(或
JDBC\u database\u URL
)连接到数据库,在您的情况下,该变量应作为Docker容器环境变量导出,通过部署应用程序

这符合Docker关于访问外部数据库的最佳实践,即PostgreSQL数据库不是应用程序容器的一部分,但应用程序容器通过HTTP请求与数据库通信

其他细节 此外,如果您对CI/CD感兴趣,想在本地使用完整的开发配置(包括PostgreSQL数据库的副本(或存根)全面测试您的应用程序,请允许我注意,您可能有兴趣设计
docker compose.yml
配置,例如:

版本:“3”
服务:
db:
图片:“博士后:12”
#v12→ https://devcenter.heroku.com/articles/heroku-postgresql#version-支持
环境:
POSTGRES\u用户:POSTGRES
POSTGRES_密码:TestPhasePassword
博士后数据库:mydb
#应用程序服务访问数据库不需要以下内容。
#仅当您还需要从主机访问数据库时才启用它。
#端口:
#   - '5432:5432'
网络:
-数据库网
应用程序:
生成:。
#图片:应用程序名称#可选
环境:
数据库URL:'postgres://postgres:TestPhasePassword@db/mydb'
端口:
- '8080:8080'
网络:
-数据库网
取决于:
-分贝
网络:
数据库网络:
司机:驾驶台
只需运行
docker compose up

因此,这里的
db
服务只是一个开发/测试实例……给定Heroku中唯一要推送/发布的映像是
app
映像