English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

DockerでDockerfileを使用してMyEclipseで構築されたJavaWebプロジェクトを実行する方法

この記事では、前の記事で述べたJava webプロジェクトをDockerのイメージに作成する方法について説明します。編集者がとても良いと思い、皆さんに共有し、参考にしてください。一緒に編集者が見てみましょう

アプリケーションがDockerコンテナ内で実行される場合と物理機器で実行される場合の原理は同じですので、このJava webプロジェクトをDockerにデプロイする手順は以下の通りです:

  • サーバー支持(ここではCentosを選択7)
  • Java環境のインストール
  • Tomcat環境のインストール
  • Tomcatのルートディレクトリのwebapps/ROOTディレクトリのすべてのファイル(フォルダー)を削除します
  • 自分が開発したwebプロジェクトのWebRootディレクトリに含まれるすべてのファイル(フォルダー)をTomcatのwebappsにコピーします/ROOT
  • Tomcatサービスの起動

手順は明確ですが、Dockerイメージを作成するには、もう一つのものが必要です:Dockerfile。

Dockerfileは、Dockerが認識できる特別なコマンドを含むファイルです。Dockerfileファイルを作成すると、docker buildを使用してDockerイメージを作成できます。

Dockerイメージの構築を開始します

  • このサンプルのフォルダーwebappを作成します
  • プロジェクトのWebRootをこのフォルダーにコピーします
  • Dockerfileファイルの作成

構造は以下の通りです:

Dockerイメージの構造図の構築

イメージの作成

docker build -t "zsl131/web01" .

注意:

Docker build:Dockerイメージの作成

-t "zsl131/web01":イメージ名を指定します、ここではzslを指定しています131/web01;イメージ名はリポジトリと名前の二つから成り立っています、zsl131は、hub.docker.comに登録申請したリポジトリ名、web01はこのイメージの名前

.:先頭にスペースがあります、これは現在のディレクトリにDockerfileファイルを構築するために指定していることを意味します。

以下は、この例で作成したDockerイメージのDockerfileです。Dockerfileをよりよく理解するために、以下のファイル内のすべての命令を削除し、一行ずつ追加して実行します:docker build -t "zsl131/web01" .、Dockerfileを使用してイメージを構築する際の情報を表示するために、以下の情報を見ることができます:

# Centos7としてベースイメージ
FROM centos:7
# JDKのインストール方法がわからない場合は、以下のコマンドを使用して以下の行を有効にします:docker build
#RUN yum search java | grep jdk
# 適切なjdkバージョンを選択してインストールします
RUN yum install -y java-1.7.0-openjdk.x86_64
# 根ディレクトリにwebという名前のディレクトリを作成します
RUN mkdir /web/
# 作業ディレクトリを設定/web、設定後はRUN pwdを使用して現在のパスを確認できます:
WORKDIR /web/
# wgetをインストールして、Tomcatのダウンロードを簡単にします
RUN yum install -y wget
# Tomcat の圧縮ファイルをダウンロードします
RUN wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-6/v6.0.48/bin/apache-tomcat-6.0.48.tar.gz
# Tomcat ファイルを解凍します
RUN tar zxvf apache-tomcat-6.0.48.tar.gz
# ツールディレクトリを設定
WORKDIR /web/apache-tomcat-6.0.48/webapps/ROOT/
# 現在のディレクトリのすべてのファイル(フォルダ)を確認します、これはTomcatが持っている一部のファイルです
RUN ls -l
# 現在のディレクトリのすべてのファイル(フォルダ)を削除します
RUN rm -rf *
# 削除後、リストを見るとファイルが一切ありません
RUN ls -l
# WebRoot ディレクトリのすべてのファイル(フォルダ)を現在のディレクトリにコピーします(webapps)/ROOT),ここでもCOPYコマンドを使用できます
ADD WebRoot .
# コピーが完了したら、成功したか確認するためにリストを見ることができます
RUN ls -l
# 作業ディレクトリをTomcatのbinディレクトリに設定して、Tomcat サービスの起動を簡単にします
WORKDIR /web/apache-tomcat-6.0.48/bin/
# Tomcat の外部に露出8080 ポート
EXPOSE 8080
# Tomcat サービスを起動します、この起動はdocker run時には上書きされません
ENTRYPOINT ["./catalina.sh", "run"]

Dockerfileの作成が完了したら、最後に以下のコマンドでイメージを構築します:

docker build -t "zsl131/web01" .

コマンドdocker imagesを使用して、先ほど構築したイメージを確認できます。

コンテナを実行

docker run -d --name web01 -p 80:8080 zsl131/web01

説明:

docker run:コンテナを実行するコマンド

-d:バックグラウンドで実行

--name web01:コンテナ名をweb0に設定1

-p 80:8080:外部に公開するポートを指定80にマッピングされます。外部からアクセスする場合、80 ポートがコンテナ内の8080 ポート

zsl131/web01:イメージ名

コンテナの起動ログを確認

docker logs web01

説明:

docker logs:コンテナログを確認するコマンド

web01:確認するコンテナの名前、ここではweb01

アクセス

ブラウザを開き、以下に入力してください:http://192.168.99.100を使用してMyEclipseで作成されたJavawebプロジェクトにアクセスできます。

注意:192.168.99.100はdockerホストのIPアドレスであり、docker-machine inspect test01を確認してください、その中のtest01これはdockerホストの名前です。

これでこの記事のすべての内容が終わります。皆様の学習に役立つことを願っています。また、ナイアラチュートリアルを多くのサポートをお願いします。

声明:この記事の内容はインターネットから取得しており、著作権者は所有者であり、インターネットユーザーによって自発的に貢献し、自己でアップロードされたものであり、このサイトは所有権を持ちません。また、人工的な編集は行われていません。著作権に関する問題がある場合は、以下のメールアドレスまでお知らせください:notice#oldtoolbag.com(メールを送信する際、#を@に変更してください。報告を行い、関連する証拠を提供してください。一旦確認がとりれれば、このサイトは侵害を疑う内容をすぐに削除します。)

おすすめ