婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Docker構建Maven+Tomcat基礎鏡像的實現(xiàn)

Docker構建Maven+Tomcat基礎鏡像的實現(xiàn)

熱門標簽:靈圖uu電子寵物店地圖標注 地圖標注如何改成微信號 濮陽好的聯(lián)通400電話申請 承德地圖標注公司 地圖標注黃河的位置 虛假地圖標注 山東企業(yè)外呼系統(tǒng)公司 百度地圖標注公司位置要多少錢 400電話號碼辦理多少錢

前言

在 Java 編程中,大多數應用都是是基于 Maven 構建的,而交付的結果大多是采用的 Tomcat 的 war 包形式,所以,構建一個基于 Maven 和 Tomcat 的基礎鏡像很有必要,不僅能幫助我們提升平時自主實驗研究分析的效率,還可以在一定程度能減少運維減少編寫 Dockerfile 的復雜度,提升整體項目交付效率。

1.創(chuàng)建編譯目錄

mkdir -p build_docker
cd build_docker
vim Dockerfile

2.編寫 Dockerfile

首先,我們選擇官方維護的 maven:3.3.3 鏡像作為基礎鏡像,然后,在此基礎上添加 Tomcat 支持。

FROM maven:3.3.3 

如果喜歡國內倉庫的速度,也可以選擇阿里的 maven:3-jdk-8。

FROM registry.cn-hangzhou.aliyuncs.com/acs/maven:3-jdk-8

其次,設置 Tomcat 相關的環(huán)境變量,并添加到系統(tǒng) PATH 變量中,使 Tomcat 的啟動腳本可以在 Shell 中直接訪問。

ENV CATALINA_HOME /usr/local/tomcat
ENV PATH $CATALINA_HOME/bin:$PATH
RUN mkdir -p "$CATALINA_HOME"
WORKDIR $CATALINA_HOME

第三,添加 Tomcat GPG-KEY,用于 Tomcat 下載完后校驗文件是否正確,以下keyid數據來自官方 Tomcat-8。

RUN gpg --keyserver pool.sks-keyservers.net --recv-keys \

F22C4FED \

86867BA6 \

E86E29AC \

307A10A5 \

564C17A3 \

0x7C037D42 \

0BECE548 \

5E763BEC \

2F6059E7 \

288584E7 \

4B6FAEFB \

286BACF1 \

731FABEE \

461B342D \

0D498E23 \

DC3D1B18 \

D63011C7 \

30480593

第四,設置 Tomcat 版本變量,構建時可以傳入相應參數來更改 Tomcat 版本。因為 maven:3.3.3 鏡像依賴的 Java 版本是 1.8,,所以我們的 Tomcat 版本也選擇 8.X 版本,保持編譯一致性可以最大化 Tomcat 的性能。

這里我們選用最新版:8.5.45

隨后使用 curl 執(zhí)行下載,并驗證后解壓,同時刪除多余的 bat 腳本。(該腳本僅用于 Windows 環(huán)境,在Linux/Mac鏡像中無用)

ENV TOMCAT_VERSION 8.5.45
ENV TOMCAT_TGZ_URL https://www.apache.org/dist/tomcat/tomcat-8/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 --verify tomcat.tar.gz.asc \

  && tar -xvf tomcat.tar.gz --strip-components=1 \

  && rm bin/*.bat \

  && rm tomcat.tar.gz*

第五,暴露 Tomcat 默認的 8080 端口,并指定基于該鏡像的容器啟動時執(zhí)行的腳本,該腳本為 Tomcat 啟動腳本。

EXPOSE 8080
CMD ["catalina.sh", "run"]

3.構建鏡像

docker build -t base-maven-tomcat . 

到此,完成。

附:完整 Dockerfile 文件

FROM maven:3.3.3

ENV CATALINA_HOME /usr/local/tomcat
ENV PATH $CATALINA_HOME/bin:$PATH
RUN mkdir -p "$CATALINA_HOME"
WORKDIR $CATALINA_HOME

RUN gpg --keyserver pool.sks-keyservers.net --recv-keys \

F22C4FED \

86867BA6 \

E86E29AC \

307A10A5 \

564C17A3 \

0x7C037D42 \

0BECE548 \

5E763BEC \

2F6059E7 \

288584E7 \

4B6FAEFB \

286BACF1 \

731FABEE \

461B342D \

0D498E23 \

DC3D1B18 \

D63011C7 \

30480593

ENV TOMCAT_VERSION 8.5.45
ENV TOMCAT_TGZ_URL https://www.apache.org/dist/tomcat/tomcat-8/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 --verify tomcat.tar.gz.asc \

  && tar -xvf tomcat.tar.gz --strip-components=1 \

  && rm bin/*.bat \

  && rm tomcat.tar.gz*

EXPOSE 8080
CMD ["catalina.sh", "run"]

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:鷹潭 泰安 樂山 淮安 德宏 福州 上海 安康

巨人網絡通訊聲明:本文標題《Docker構建Maven+Tomcat基礎鏡像的實現(xiàn)》,本文關鍵詞  Docker,構建,Maven+Tomcat,基礎,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Docker構建Maven+Tomcat基礎鏡像的實現(xiàn)》相關的同類信息!
  • 本頁收集關于Docker構建Maven+Tomcat基礎鏡像的實現(xiàn)的相關信息資訊供網民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章
    主站蜘蛛池模板: 体育| 从化市| 祁门县| 西乌| 溧水县| 陆川县| 新晃| 佳木斯市| 河西区| 台中县| 秀山| 洛阳市| 东宁县| 临安市| 长岛县| 扎赉特旗| 德钦县| 鱼台县| 陆河县| 汪清县| 临夏市| 原阳县| 宁乡县| 嘉黎县| 迭部县| 绥阳县| 宜宾市| 寿光市| 东港市| 平度市| 崇义县| 台南市| 芦溪县| 历史| 长葛市| 湖南省| 玛纳斯县| 太和县| 夏邑县| 德格县| 台中县|