ホームページ 運用・保守 Docker DockerでTomcatを起動する方法

DockerでTomcatを起動する方法

Apr 18, 2023 am 10:20 AM

Docker は、1 つ以上のアプリケーションまたはサービスを分離できる軽量の仮想化テクノロジです。その中でも、Docker コンテナはアプリケーションの開発、テスト、配信、デプロイに広く使用されています。 Tomcat は、Docker コンテナ内で実行できる一般的な Java Web サーバーです。この記事ではDockerでTomcatを起動する方法を紹介します。

  1. Tomcat イメージのダウンロード

Docker イメージは、Docker コンテナーを作成するためのファイル システムと起動コマンドを含む読み取り専用のテンプレートです。 Docker で Tomcat を起動するには、まず Tomcat イメージをダウンロードする必要があります。 Docker Hub には多くの Tomcat イメージがあります。公式イメージを例として、ターミナルに次のコマンドを入力します:

docker pull tomcat
ログイン後にコピー

このコマンドは、Tomcat イメージの最新バージョンを Docker Hub からダウンロードします。

  1. コンテナを作成して Tomcat を起動する

イメージをダウンロードした後、Docker コンテナを作成して Tomcat を起動する必要があります。コマンド ラインで次のコマンドを使用できます。

docker run -p 8080:8080 -d --name my-tomcat tomcat:latest
ログイン後にコピー

このコマンドは、Tomcat コンテナをバックグラウンドで起動し、コンテナ名を my-tomcat として指定し、最新バージョンの Tomcat イメージを使用して、コンテナーのポート 8080 をホストのポート 8080 に接続します。

コンテナが起動すると、次の URL を通じて Tomcat にアクセスできます。

http://localhost:8080/
ログイン後にコピー
  1. Web アプリケーションのデプロイ

デフォルトでは、Tomcat コンテナはROOT.war ファイルをアプリケーション ディレクトリ /usr/local/tomcat/webapps に自動的にロードします。したがって、Web アプリケーションをコンテナーにデプロイする場合は、アプリケーション フォルダーをコンテナーの /usr/local/tomcat/webapps ディレクトリにコピーできます。たとえば、アプリケーション名が my-app であると仮定すると、次のコマンドを使用してアプリケーションをコンテナにコピーできます:

docker cp my-app my-tomcat:/usr/local/tomcat/webapps/
ログイン後にコピー

このコマンドは、my-app フォルダをコンテナ my-tomcat の / にコピーします。 usr/local/tomcat/webapps ディレクトリ。

  1. コンテナの再起動

アプリケーションをコンテナにコピーした後、アプリケーションを有効にするためにコンテナを再起動する必要があります。次のコマンドを使用してコンテナを再起動できます:

docker restart my-tomcat
ログイン後にコピー

このコマンドはコンテナ my-tomcat を再起動します。

  1. Web アプリケーションへのアクセス

アプリケーションがデプロイされ、コンテナーが再起動されました。これで、アプリケーションにアクセスできるようになります。アプリケーションのコンテキスト パスが my-app であると仮定すると、次の URL を使用してブラウザでアクセスできます。

http://localhost:8080/my-app
ログイン後にコピー
  1. アプリケーションを WAR ファイルにパッケージ化します

アプリケーションを WAR ファイルにパッケージ化し、その WAR ファイルをコンテナーの /usr/local/tomcat/webapps ディレクトリにコピーできます。コンテナが起動すると、Tomcat はこのディレクトリ内の WAR ファイルを自動的に解凍します。次のコマンドを使用して、アプリケーションを WAR ファイルにパッケージ化できます。

jar -cvf my-app.war my-app/
ログイン後にコピー

このコマンドは、my-app フォルダーを my-app.war ファイルにパッケージ化します。

  1. Dockerfile を使用したアプリケーションのデプロイ

アプリケーションをコンテナーに手動でコピーするだけでなく、Dockerfile を使用してアプリケーションをデプロイすることもできます。 Dockerfile は、Docker イメージを構築するための手順が含まれるテキスト ファイルです。 Dockerfile を使用すると、アプリケーションを含むイメージを作成できます。

以下は簡単な Dockerfile の例です:

FROM tomcat
COPY my-app.war /usr/local/tomcat/webapps/
ログイン後にコピー

この Dockerfile は Tomcat イメージをベース イメージとして使用し、my-app.war をコンテナの /usr/local/tomcat/webapps ディレクトリにコピーします。真ん中。ここで、次のコマンドを使用して Docker イメージを構築できます。

docker build -t my-tomcat-app .
ログイン後にコピー

このコマンドは、現在のディレクトリにある Dockerfile を my-tomcat-app という名前の Docker イメージに構築します。次のコマンドを使用してイメージを実行できます。

docker run -p 8080:8080 -d --name my-tomcat-app my-tomcat-app:latest
ログイン後にコピー

このコマンドは、my-tomcat-app イメージを実行し、コンテナーのポート 8080 にマップします。

この時点で、Docker で Tomcat アプリケーションを起動してデプロイする方法はすでにわかりました。 Java Web アプリケーションを開発およびデプロイしている場合、Docker は作業をより効率的に完了できる、より便利なデプロイメント方法を提供します。

以上がDockerでTomcatを起動する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Docker Swarmクラスターにアプリケーションを展開するにはどうすればよいですか? Docker Swarmクラスターにアプリケーションを展開するにはどうすればよいですか? Mar 17, 2025 pm 04:20 PM

この記事では、プロセス中の準備、展開ステップ、セキュリティ対策をカバーするDocker Swarmへのアプリケーションの展開を詳細に説明します。

Kubernetesのポッド、展開、サービスとは何ですか? Kubernetesのポッド、展開、サービスとは何ですか? Mar 17, 2025 pm 04:25 PM

この記事では、Kubernetesのポッド、展開、およびサービスについて説明し、コンテナ化されたアプリケーションの管理における役割について詳しく説明しています。これらのコンポーネントが、アプリケーション内のスケーラビリティ、安定性、および通信をどのように強化するかについて説明します。(159文字)

Dockerコンテナにレート制限とリソースの割り当てを実装する方法は? Dockerコンテナにレート制限とリソースの割り当てを実装する方法は? Mar 12, 2025 pm 06:07 PM

この記事では、Dockerのレート制限とリソースの割り当ての実装について詳しく説明しています。 CGROUPを使用してCPU、メモリ、およびI/Oの制限をカバーし、リソースの疲労を防ぐためのベストプラクティスを強調します。 ネットワークレートの制限、ような外部ツールが必要です

Kubernetesでアプリケーションをスケーリングするにはどうすればよいですか? Kubernetesでアプリケーションをスケーリングするにはどうすればよいですか? Mar 17, 2025 pm 04:28 PM

この記事では、手動スケーリング、HPA、VPA、およびCluster Autoscalerを使用してKubernetesのスケーリングアプリケーションについて説明し、スケ​​ーリングを監視および自動化するためのベストプラクティスとツールを提供します。

Docker Swarmでサービスを管理するにはどうすればよいですか? Docker Swarmでサービスを管理するにはどうすればよいですか? Mar 17, 2025 pm 04:22 PM

記事では、Docker Swarmのサービスの管理、ダウンタイムなしで作成、スケーリング、監視、更新に焦点を当てています。

Docker Swarmにローリングアップデートを実装するにはどうすればよいですか? Docker Swarmにローリングアップデートを実装するにはどうすればよいですか? Mar 17, 2025 pm 04:23 PM

この記事では、Docker Swarmにローリングアップデートを実装して、ダウンタイムなしでサービスを更新することについて説明します。サービスの更新、更新パラメーターの設定、監視の進捗状況、スムーズな更新の確保をカバーしています。

Kubernetesでの展開を管理するにはどうすればよいですか? Kubernetesでの展開を管理するにはどうすればよいですか? Mar 17, 2025 pm 04:27 PM

この記事では、さまざまなツールとベストプラクティスを使用して、作成、更新、スケーリング、監視、および自動化に焦点を当てたKubernetesの展開の管理について説明します。

低遅延アプリケーション用にDockerを最適化する最良の方法は何ですか? 低遅延アプリケーション用にDockerを最適化する最良の方法は何ですか? Mar 14, 2025 pm 02:00 PM

この記事では、低遅延アプリケーションのDockerを最適化する戦略について説明し、画像サイズの最小化、軽量ベース画像の使用、リソースの割り当てとネットワーク設定の調整に焦点を当てています。

See all articles