最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2019年09月10日 11:50:15   作者:mickjoust  
這篇文章主要介紹了Docker構(gòu)建Maven+Tomcat基礎鏡像的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前言

在 Java 編程中,大多數(shù)應用都是是基于 Maven 構(gòu)建的,而交付的結(jié)果大多是采用的 Tomcat 的 war 包形式,所以,構(gòu)建一個基于 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 

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

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

其次,設置 Tomcat 相關(guān)的環(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數(shù)據(jù)來自官方 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 版本變量,構(gòu)建時可以傳入相應參數(shù)來更改 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.構(gòu)建鏡像

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"]

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

相關(guān)文章

  • 基于Docker的Mysql主備搭建的實現(xiàn)步驟

    基于Docker的Mysql主備搭建的實現(xiàn)步驟

    本文主要介紹了基于Docker的Mysql主備搭建的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • docker 中配置 eureka的方法

    docker 中配置 eureka的方法

    這篇文章主要介紹了docker 中配置 eureka的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Docker安裝MySQL并使用Navicat連接的操作方法

    Docker安裝MySQL并使用Navicat連接的操作方法

    這篇文章主要介紹了Docker安裝MySQL并使用Navicat連接,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • 如何使用docker部署前端應用的方法步驟

    如何使用docker部署前端應用的方法步驟

    這篇文章主要介紹了如何使用docker部署前端應用的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • Docker容器數(shù)據(jù)卷技術(shù)介紹

    Docker容器數(shù)據(jù)卷技術(shù)介紹

    這篇文章主要為大家介紹了Docker容器數(shù)據(jù)卷技術(shù)介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • docker run 運行容器自動結(jié)束的解決

    docker run 運行容器自動結(jié)束的解決

    這篇文章主要介紹了docker run 運行容器自動結(jié)束的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • docker私有倉庫的鏡像刪除方式

    docker私有倉庫的鏡像刪除方式

    該文章介紹了如何使用Docker私有倉庫刪除鏡像的步驟,包括獲取Token、請求鏡像列表和刪除鏡像的具體操作,同時,還解決了在刪除鏡像時遇到的MANIFEST_UNKNOWN錯誤,并提供了相應的解決辦法
    2025-02-02
  • Docker容器安裝Vim編輯器的方法

    Docker容器安裝Vim編輯器的方法

    Docker容器是一種輕量級、可移植的應用程序打包解決方案,在本文中,我們將討論如何在Docker容器中安裝Vim編輯器,為容器增添一個功能強大的文本編輯器,感興趣的朋友跟隨小編一起看看吧
    2023-08-08
  • 如何通過Dockerfile 創(chuàng)建 kali-novnc

    如何通過Dockerfile 創(chuàng)建 kali-novnc

    這篇文章主要介紹了如何通過Dockerfile 創(chuàng)建 kali-novnc,在Dockerfile所在目錄運行相關(guān)命令操作即可完成,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • docker中使用mysql數(shù)據(jù)庫實現(xiàn)局域網(wǎng)訪問

    docker中使用mysql數(shù)據(jù)庫實現(xiàn)局域網(wǎng)訪問

    在本篇內(nèi)容里小編給大家整理了關(guān)于docker中使用mysql數(shù)據(jù)庫實現(xiàn)局域網(wǎng)訪問相關(guān)內(nèi)容,有需要的朋友們可以學習下。
    2020-03-03

最新評論

新宁县| 缙云县| 安国市| 莒南县| 乌苏市| 郯城县| 丽江市| 平安县| 柏乡县| 明星| 普格县| 嵩明县| 宁强县| 磐安县| 如东县| 赣州市| 梁山县| 德惠市| 曲周县| 新巴尔虎右旗| 孝义市| 开阳县| 德钦县| 新河县| 大理市| 岳阳县| 扎囊县| 隆回县| 永年县| 辽阳市| 吉木乃县| 策勒县| 涞源县| 永年县| 瑞金市| 岑溪市| 佛坪县| 科尔| 平顺县| 闵行区| 泰和县|