Spring Boot アプリケーションの Docker 化には、アプリケーションとその依存関係を含む Docker イメージの作成が含まれます。これにより、アプリケーションを簡単に共有し、Docker がインストールされているマシン上で実行できる方法でパッケージ化できます。以下は、Maven ベースの Spring Boot アプリケーションを Docker 化し、Docker コンテナーで実行するための段階的な手順です。
ステップ 1: Docker をインストールする
まず、Docker がローカル マシンにインストールされていることを確認します。 Docker の公式 Web サイトからダウンロードできます。オペレーティング システムのインストール手順に従ってください。
ステップ 1 が完了したら、ステップ 2 に進みます
ステップ 2: Dockerfile を作成する
Spring Boot アプリケーションのルート ディレクトリ (pom.xml ファイルがある場所) に、ファイル拡張子を付けずに Dockerfile という名前のファイルを作成します。このファイルは Docker イメージを定義します。
Dockerfile の簡単な例を次に示します。
注: ここではいくつかの問題が発生する可能性があります。解決してみてください。それは大きくないはずです。たとえば > エラー [内部] docker.io/library/maven:3.8.6-openjdk-17 のメタデータの読み込み
ステップ 3: Docker イメージを構築する
ターミナル (コマンド プロンプトまたはシェル) を開き、Dockerfile が含まれるディレクトリに移動します。次のコマンドを実行して Docker イメージをビルドします:
docker build -t イメージ名 .
your-image-name を、Docker イメージに付けたい名前に置き換えます。
ステップ 4: Docker イメージを確認する
ビルドが完了したら、イメージが正常に作成されたことを確認します。
ドッカーイメージ
出力に画像がリストされるはずです。
ステップ 5: Docker コンテナを実行する
これで、次のコマンドを使用して Docker コンテナを実行できるようになります:
docker run -p 8080:8080 イメージ名
このコマンドは、コンテナのポート 8080 をホスト マシンのポート 8080 にマッピングします。 your-image-name をイメージの構築時に使用した名前に置き換えます。
ステップ 6: アプリケーションをテストする
Web ブラウザを開いて http://localhost:8080 に移動すると、Spring Boot アプリケーションにアクセスできます。すべてが正しく設定されていれば、アプリケーションが実行されていることが確認できるはずです。
ステップ 7: Docker イメージをエクスポートする
インターネットにアクセスできない他のチームと Docker イメージを共有するには、イメージを tar ファイルとして保存します。
docker save -o your-image-name.tar your-image-name
これにより、他のチームの VM に転送できる Docker イメージの tarball が作成されます。
ステップ 8: ターゲット マシンに Docker イメージをロードする
他のチームが your-image-name.tar ファイルを受信したら、次のコマンドを使用してイメージを Docker 環境にロードできます。
docker load -i your-image-name.tar
ステップ 9: ターゲット マシンで Docker コンテナを実行する
イメージをロードした後、他のチームは同じコマンドでコンテナを実行できます:
docker run -p 8080:8080 イメージ名
ステップ 10: アプリケーションにアクセスします
これで、ターゲット マシンの http://localhost:8080 でアプリケーションにアクセスできるようになります。
追加メモ
データベース構成: アプリケーションで PostgreSQL を使用している場合は、PostgreSQL コンテナをセットアップするか、アプリケーションからデータベースにアクセスできるようにする必要がある場合があります。 Docker Compose ファイルを作成して、複数のコンテナ (例: アプリ用に 1 つ、PostgreSQL 用に 1 つ) を管理できます。
環境変数: アプリケーションで環境変数 (データベース構成など) が必要な場合は、docker run コマンドの -e フラグを使用して環境変数を Docker コンテナに渡すことができます。
ボリュームのマウント: アプリケーションがデータを永続化する必要がある場合、またはローカル ファイルへのアクセスが必要な場合は、Docker ボリュームの使用を検討してください。
これらの手順に従うことで、Spring Boot アプリケーションを正常に Docker 化し、他のチームと共有できるようになります。
ありがとう
カイラス
JavaCharter
以上がMaven と PostgreSQL データベースを使用した Java Spring Boot アプリケーションの Docker 化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。