War パッケージは Web アプリケーションのパッケージ形式であり、通常、Web アプリケーションの静的ファイル、Java クラス、その他のリソース ファイルが含まれています。 War パッケージは Docker コンテナを通じてデプロイできるため、Web アプリケーションをより効率的に管理および保守できるようになります。この記事では、例を使用して、War パッケージを Docker コンテナーにデプロイする方法を紹介します。
1. Docker のインストール
始める前に、まず Docker をインストールする必要があります。 Linux システムの場合は、次のコマンドを使用してインストールできます:
sudo apt-get install docker-ce
インストールが完了したら、Docker サービスを開始する必要があります:
sudo systemctl start docker
Docker コマンドを便利に使用するには、現在のユーザーを Docker グループに追加できます:
sudo usermod -aG docker $USER
2. Dockerfile を記述します
Dockerfile は Docker イメージのビルド ファイルであり、Docker イメージのビルド方法を記述するために使用されます。 Dockerfile を通じて Web アプリケーションを含む Docker イメージを構築できます。
以下は簡単な Dockerfile の例です:
FROM tomcat:9.0.44-jdk11-openjdk COPY myapp.war /usr/local/tomcat/webapps/
上記の Dockerfile では、ベース イメージは最初に tomcat:9.0.44-jdk11-openjdk として指定されています。次に、COPY コマンドを使用して、War パッケージを Tomcat の webapps ディレクトリにコピーします。
3. Docker イメージを構築する
Dockerfile を取得した後、docker build コマンドを使用して Docker イメージを構築する必要があります:
docker build -t myapp:v1 .
その中で、-tパラメーターは、Docker イメージの構築に使用されます。名前とバージョン番号を指定します。ここでは、イメージに myapp:v1 という名前を付けます。最後の「.」は、現在のディレクトリ (Dockerfile が配置されているディレクトリ) を示します。
Docker は Dockerfile を読み取り、説明に従ってイメージを構築します。ビルドが完了したら、docker image コマンドを使用してすべてのイメージのリストを表示し、アプリケーション イメージが正常にビルドされたかどうかを確認できます。
docker images
4. Docker コンテナを実行します
イメージを取得したら、docker run コマンドを使用して Docker コンテナを起動できます:
docker run -d -p 8080:8080 myapp:v1
その中で、-dパラメータは、コンテナを示します。バックグラウンドで実行されている場合、-p パラメータは、コンテナ内のポートがホスト上のポートにマップされることを指定するために使用されます。ここでは、Tomcat のデフォルト ポート 8080 をホストのポート 8080 にマッピングします。最後の myapp:v1 は、実行する Docker イメージの名前とバージョンを示します。
操作が完了したら、ブラウザーから http://localhost:8080/myapp にアクセスして、Web アプリケーションが正常に実行されているかどうかを確認できます。
5. 更新デプロイメント
Web アプリケーションを更新する場合、対応する War パッケージを直接置き換えることができます。新しい myapp_new.war がある場合は、デプロイメント プロセス中に、それを Tomcat の webapps ディレクトリにコピーし、Docker コンテナを再起動するだけで済みます。
docker cp myapp_new.war <container_id>:/usr/local/tomcat/webapps/ docker restart <container_id>
6. まとめ
Docker のデプロイメント手法を使用すると、Web アプリケーションをより簡単かつ便利にデプロイおよび管理できます。この記事では、War パッケージを Docker コンテナにデプロイする方法を紹介し、参考用の簡単な例を示します。もちろん、具体的な展開方法は、実際の状況に応じて調整し、最適化する必要があります。
以上がwar パッケージを docker する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。