Docker構建tomcat映象併發布web應用
阿新 • • 發佈:2018-12-26
一、編寫Dockerfile檔案
FROM jiucool/java:server-jre-8u74 ENV CATALINA_HOME /usr/local/tomcat ENV PATH $CATALINA_HOME/bin:$PATH RUN mkdir -p "$CATALINA_HOME" WORKDIR $CATALINA_HOME # see https://www.apache.org/dist/tomcat/tomcat-8/KEYS RUN set -ex \ && for key in \ 05AB33110949707C93A279E3D3EFE6B686867BA6 \ 07E48665A34DCAFAE522E5E6266191C37C037D42 \ 47309207D818FFD8DCD3F83F1931D684307A10A5 \ 541FBE7D8F78B25E055DDEE13C370389288584E7 \ 61B832AC2F1C5A90F0F9B00A1C506407564C17A3 \ 79F7026C690BAA50B92CD8B66A3AD3F4F22C4FED \ 9BA44C2621385CB966EBA586F72C284D731FABEE \ A27677289986DB50844682F8ACB77FC2E86E29AC \ A9C5DF4D22E99998D9875A5110C01C5A2F6059E7 \ DCFD35E0BF8CA7344752DE8B6FB21E8933C60243 \ F3A04C595DB5B6A5F1ECA43E3B7BBB100D811BBE \ F7DA48BB64BCB84ECBA7EE6935CD23C10D498E23 \ ; do \ gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key"; \ done ENV TOMCAT_MAJOR 8 ENV TOMCAT_VERSION 8.0.32 ENV TOMCAT_TGZ_URL https://www.apache.org/dist/tomcat/tomcat-$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz RUN set -x \ && curl -fSL "$TOMCAT_TGZ_URL" -o tomcat.tar.gz \ && curl -fSL "$TOMCAT_TGZ_URL.asc" -o tomcat.tar.gz.asc \ && gpg --batch --verify tomcat.tar.gz.asc tomcat.tar.gz \ && tar -xvf tomcat.tar.gz --strip-components=1 \ && rm bin/*.bat \ && rm tomcat.tar.gz* \ && rm -rf webapps/host-manager \ && rm -rf webapps/manager \ && rm -rf webapps/examples \ && rm -rf webapps/docs EXPOSE 8080 CMD ["catalina.sh", "run"]
二、生成映象檔案
docker build -t jiucool/tomcat:8.0.32 .
推送到官方docker hub 中docker push jiucool/tomcat:8.0.32
驗證是否成功
[[email protected] dockerconf]# docker search jiucool/tomcat
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
jiucool/tomcat tomcat基礎映象 0
一切OK
三、部署我們的WEB應用
為了更方便,這裡我們用自己的server.xml配置替換容器中預設配置,新增宿主主機應用目錄對映至容器目錄。
我們自定義配置檔案地址為:/home/docker/dockerconf/server.xml,將WEB應用放到/home/docker/dockerconf/ROOT目錄中,然後執行如下命令:docker run -d --name testtomcat -p 8999:8080 -v /home/docker/dockerconf/server.xml:/usr/local/tomcat/conf/server.xml:ro -v /home/docker/dockerconf/ROOT:/usr/local/tomcat/webapps/ROOT:rw jiucool/tomcat:latest
檢視容器執行情況
[[email protected]dockerconf]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3e73ae2c1d76 jiucool/tomcat:latest "catalina.sh run" 6 seconds ago Up 6 seconds 0.0.0.0:8999->8080/tcp testtomcat
訪問 http://ip:8999 檢視,已經訪問成功。