Docker Compose + Spring Boot + Postgres 接続
php エディター Xigua は本日、Docker Compose を使用して Spring Boot と Postgres を接続する方法に関するチュートリアルを提供します。 Docker Compose はマルチコンテナ Docker アプリケーションを定義して実行するためのツールであり、Spring Boot は Java アプリケーションを構築するためのフレームワークであり、Postgres は強力なリレーショナル データベースです。これら 3 つを組み合わせて使用することで、Spring Boot アプリケーションと Postgres データベースを含む開発環境を簡単に構築できます。このチュートリアルでは、アプリケーションの開発をすぐに開始できるように、3 つすべてを構成して接続する方法を段階的に学習します。
質問の内容
Postgres データベースで動作する Java Spring Boot アプリケーションがあります。どちらにも Docker を使用したいと考えています。最初は Postgres を Docker に入れて、docker-compose.yml
ファイルを次のように定義しました。
リーリー
sudo dockerd および
sudo docker-compose -f docker-compose.yml up を発行すると、データベースが起動されます。たとえば、
pgAdmin を使用し、サーバーとして
localhost を使用し、ポート
5432 を使用して接続できます。次に、Spring Boot アプリケーションでは、次のプロパティが
application.properties ファイルで定義されています。
リーリー
次に、
mvn clean がリリースされているプロジェクト ディレクトリに移動し、次に mvn install
を実行します。次に、docker build -f Dockerfile -t manager .
を実行し、その後に docker tag 9c6b1e3f1d5e myuser/manager:latest
(ID は正しいです) を実行します。最後に、既存の docker-compose.yml
ファイルを次のように編集しました:
リーリー
ただし、
コマンドを発行すると、データベースは再び正常に起動しますが、エラーが発生し、Web アプリケーションのコード 1 で終了します。セクション 。問題は接続文字列です。何か別のものに変更する必要があると思いますが、何を変更すべきかわかりません。次のエラー メッセージが表示されます:
リーリー
###何か案は?
は正しい Postgres IP に解決されます。
###ボーナス。 docker-compose を使用すると、イメージを手動でビルドする必要がありません。したがって、次のように変更します:
リーリー ### に: ###version: '2' services: db: container_name: sample_db image: postgres:9.5 volumes: - sample_db:/var/lib/postgresql/data environment: - POSTGRES_PASSWORD=sample - POSTGRES_USER=sample - POSTGRES_DB=sample - PGDATA=/var/lib/postgresql/data/pgdata ports: - 5432:5432 volumes: sample_db: {}
私も同じ問題を抱えていましたが、それを理解して解決するまでに時間がかかりました:
リーリー
誰もが理解できるようにすべてのプロパティを示します。
リーリー
docker-compose.yml:
リーリー
ローカル データベースを使用して Spring アプリケーションを起動するには、URL localhost を使用します。 データベースを使用してコンテナに接続するには、データベース サービスの「localhost」を変更する必要があります。私の場合は「localhost」を「
db
解決策:
SPRING_DATASOURCE_URL
docker-compose.yml に追加し、spring.datasource.url 接続値を書き換えます: リーリー これが人々の時間を節約するのに役立つことを願っています。
以上がDocker Compose + Spring Boot + Postgres 接続の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











JUnit 単体テスト フレームワークは広く使用されているツールであり、その主な利点には、自動テスト、高速フィードバック、コード品質の向上、移植性などがあります。ただし、範囲の制限、メンテナンスコスト、依存関係、メモリ消費、継続的統合サポートの欠如などの制限もあります。 Java アプリケーションの単体テストにとって、JUnit は多くの利点を提供する強力なフレームワークですが、使用する場合はその制限を考慮する必要があります。

Java エミュレータは、コンピュータまたはデバイス上で Java アプリケーションを実行できるソフトウェアです。 Java 仮想マシンをシミュレートし、Java バイトコードを実行できるため、ユーザーはさまざまなプラットフォームで Java プログラムを実行できます。 Java シミュレータは、ソフトウェア開発、学習、テストで広く使用されています。この記事では、さまざまなユーザーのニーズを満たし、ユーザーが Java プログラムをより効率的に開発および実行できるようにする 5 つの便利で実用的な Java エミュレーターを紹介します。最初のエミュレータは Eclipse でした。 Ecl

Java は、ユーザーがゲームの構築、Web アプリケーションの作成、組み込みシステムの設計など、幅広いアプリケーションを作成できる強力なプログラミング言語です。 Debian12 は、新しくリリースされた強力な Linux ベースのオペレーティング システムであり、Java アプリケーションが繁栄するための安定した信頼性の高い基盤を提供します。 Java および Debian システムを併用すると、間違いなく人々を大いに助ける可能性とイノベーションの世界を開くことができます。これは、Debian システムに Java がインストールされている場合にのみ可能です。このガイドでは、次のことを学習します: Debian12 に Java をインストールする方法 Debian12 に Java をインストールする方法 Debian12 から Java を削除する方法

log4j 構成ファイルに関する一般的な問題と解決策 Java アプリケーションの開発プロセスにおいて、ロギングは非常に重要な機能です。 log4j は Java で広く使用されているロギング フレームワークです。設定ファイルを通じてログの出力モードを定義し、ログのレベルや出力場所を制御するのに非常に便利です。ただし、log4j の構成時に問題が発生する場合があります。この記事では、いくつかの一般的な問題とその解決策を紹介し、具体的なコード例を添付します。問題 1: ログ ファイルから解決策が生成されない:

Oracle は世界的に有名なデータベース管理システム プロバイダーであり、その API (アプリケーション プログラミング インターフェイス) は、開発者が Oracle データベースと簡単に対話して統合するのに役立つ強力なツールです。この記事では、Oracle API 使用ガイドを詳しく掘り下げ、開発プロセス中にデータ インターフェイス テクノロジを利用する方法を読者に示し、具体的なコード例を示します。 1.オラクル

IDEA (IntelliJIDEA) は、開発者がさまざまな Java アプリケーションを迅速かつ効率的に開発できるようにする強力な統合開発環境です。 Java プロジェクト開発では、Maven をプロジェクト管理ツールとして使用すると、依存ライブラリの管理やプロジェクトのビルドなどをより適切に行うことができます。この記事では、IDEA で Maven プロジェクトを作成する基本的な手順を詳しく説明し、具体的なコード例を示します。ステップ 1: IDEA を開いて新しいプロジェクトを作成する IntelliJIDEA を開く

Javaを使用してmysqlデータベースに接続するにはどうすればよいですか?試行すると、 java.sql.sqlException:nosuitabledriverfoundforjdbc:mysql://database/tableatjava.sql.drivermanager.getconnection(drivermanager.java:689)atjava.sql.drivermanager.getconnection(drivermanager.java:247) または

MyBatis は、Java アプリケーションでデータベースと対話するプロセスを簡素化し、開発効率を大幅に向上させる優れた永続層フレームワークです。 MyBatis フレームワークの中心となるアイデアは、SQL ステートメントを Java オブジェクトにマップし、XML 構成ファイルまたは注釈を介して SQL マッピングを実装することで、データベース操作を簡単に実行できるようにすることです。 MyBatis では、SQL を Java オブジェクトにマッピングするプロセスは、SQL マッピング ファイルの設定、Java オブジェクトの定義、および