Apache Tomcat は、Apache Software Foundation (ASF) によって開発されたオープンソースの Web サーバーおよびサーブレット コンテナです。
Tomcat は、Oracle の Java Servlet および JavaServer Pages 仕様を実装し、Java コードを実行するための純粋な Java HTTP Web サーバー環境を提供します。
このチュートリアルでは、Docker と Tomcat を組み合わせて、Tomcat をコンテナとして使用して Tomcat の「hello world」アプリケーションをデプロイする方法を学びます。
要件:
このチュートリアルで提供される手順とコードを正しく実行して使用するには、次のものが揃っていることを確認してください。
- ホスト マシンに Docker エンジンがインストールされている
- Java コードをテストするためにマシンに Java JDK をインストールします (オプション)
- ソースコードとDocker構成を編集するためのテキストエディタ
所定の要件が満たされたら、次に進み、Docker を使用して Tomcat アプリをデプロイする方法を学習します。
Docker で Tomcat イメージをプルする
幸いなことに、Tomcat アプリケーションを実行するためのすべてのツールを含む基本イメージを構成する必要はありません。 Docker Hub から Tomcat イメージを使用するだけです。
イメージをプルするには、次のようにコマンドを実行します。
$ docker pull tomcat
Hello World アプリケーションを作成する
次のステップは、「Hello World」アプリケーションを作成することです。まず、ソース コードを保存するディレクトリを作成し、そのディレクトリに移動します。
$ mkdir こんにちは世界 && CD こんにちは世界
ルート ディレクトリ内に webapp フォルダーを作成し、その中に WEB-INF フォルダーを作成します。
ディレクトリ構造は次のようになります。
こんにちは世界 /└── ウェブアプリ
━── WEB-INF
3 ディレクトリ、 0 ファイル
次に、WEB-INF ディレクトリに移動し、次のコードを含む「web.xml」ファイルを作成します。
< ウェブアプリ xmlns = 'http://xmlns.jcp.org/xml/ns/javaee'
xmlns: xsi = 'http://www.w3.org/2001/XMLSchema-instance'
xsi: スキーマの場所 = 'http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd'
バージョン = 「4.0」 >
< サーブレット >
< サーブレット名 > こんにちは世界 サーブレット名 >
< サーブレットクラス > HelloWorldサーブレット サーブレットクラス >
サーブレット >
< サーブレットマッピング >
< サーブレット名 > こんにちは世界 サーブレット名 >
< URLパターン >/ こんにちは URLパターン >
サーブレットマッピング >
ウェブアプリ >
ファイルを保存してエディタを閉じます。
ターミナル ウィンドウに戻り、WEB-INF/classes ディレクトリ内に「HelloWorldServlet.java」を作成します。
$ mkdir クラス$ 触る HelloWorldServlet.java
以下に示すように、アプリケーションのコンテンツを追加します。
javax.servlet.httpをインポートします。 * ;
java.ioをインポートします。 * ;
パブリック クラス HelloWorldServlet は HttpServlet を拡張します {
public void doGet ( HttpServletRequest リクエスト、HttpServletResponse レスポンス )
ServletException、IOExceptionをスローします {
応答.setContentType ( 「テキスト/html」 ) ;
PrintWriter 出力 = response.getWriter ( ) ;
out.println ( 「」 ) ;
out.println ( '
out.println ( 「<本体>」 ) ;
out.println ( 「
ハロー、ワールド!
」 ) ;out.println ( 「