前回、apacheをdockerで動かしたので今度はtomcatを起動させます。
環境
- mac
- boot2docker(Docker version 1.5.0)
tomcatをdockerで起動させる最も簡単な方法は公式サイトのDockerfileを利用することです。
しかしながら、新規の案件ではなく既存の案件を扱うとなると、javaのバージョンとtomcatのバージョンは既存環境に合わせないといけません。
というわけでここでは、javaとtomcatのバージョンを指定したDockerfileを作成したいと思います。
boot2dockerを起動
boot2docker up
Dockerfileを記述
# Pull base image. FROM centos:6.6 MAINTAINER Edy # yum update # http://blog.engineer.adways.net/archives/rails-on-docker RUN rpm -Uhv http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm RUN yum -y update RUN yum install -y vim git sudo passwd wget make gcc tar readline-devel RUN yum install -y openssl-devel openssh openssh-server openssh-clients RUN yum install -y install libxml2 libxml2-devel libxslt libxslt-devel # install java(1.6.0.35) RUN yum install -y java-1.6.0-openjdk.x86_64 RUN yum install -y java-1.6.0-openjdk-devel.x86_64 # tomcat ENV CATALINA_HOME /usr/local/tomcat RUN mkdir -p "$CATALINA_HOME" WORKDIR $CATALINA_HOME # setting env variable ENV JAVA_HOME /usr/lib/jvm/jre-1.6.0-openjdk.x86_64 ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin ENV CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/common/lib ENV TOMCAT_HOME /usr/local/tomcat RUN export JAVA_HOME PATH CLASSPATH CATALINA_HOME TOMCAT_HOME ENV TOMCAT_MAJOR 7 ENV TOMCAT_VERSION 7.0.29 ENV TOMCAT_TGZ_URL http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.29/bin/apache-tomcat-7.0.29.tar.gz # RUN curl -SL "$TOMCAT_TGZ_URL" -o tomcat.tar.gz \ && tar -xvf tomcat.tar.gz --strip-components=1 \ && rm bin/*.bat \ && rm tomcat.tar.gz* EXPOSE 8080 CMD ["catalina.sh", "run"]
見ての通り、OFFICIAL REPOにあるtomcatのDockerfileを参照にし、利用したい環境に合わせて変更しました。
主な変更点は以下になります
- TOMCAT_TGZ_URLをhttpsでなく、httpから取得するようにした。
- yumでjavaをinstallした。そのため、JAVA_HOMEにreadlink $(readlink $(which java))のパスを設定した。
- JAVA_HOME PATH CLASSPATH CATALINA_HOME TOMCAT_HOMEをexportで設定した。
Dockerfileファイルをビルド
docker build -t appsever001 .
ホストの 8081 ポートとコンテナの 8080 ポートを対応付けて起動
docker run -p 8081:8080 -d appsever001 // プロセスを確認 docker ps -a 5a43f3d8a898 websever001:latest "/usr/sbin/httpd -D 12 minutes ago Up 12 minutes 0.0.0.0:8080->80/tcp pensive_curie 1d54773ccbe8 appsever001:latest "catalina.sh run" 15 minutes ago Up 15 minutes 0.0.0.0:8081->8080/tcp condescending_mclean
dockerのIPを調査
boot2docker ip 192.168.xx.xxx
ブラウザからアクセス
ポート8081に関連づけているのでポート8081を指定する
http://192.168.xx.xxx:8081/
以上
- Apache Tomcat の起動スクリプトのテンプレート
- kakakikikekeのブログ
- tar(1) でアーカイブ前の名前ではなく新たな名前のディレクトリで展開したいときのメモ
- OFFICIAL REPO tomcat
0 件のコメント:
コメントを投稿