使用DockerFile構建Tomcat鏡像

1、準備鏡像文件tomcat壓縮包,jdk的壓縮包

tomcat鏈接:https://pan.baidu.com/s/1Xpecb-BSGR2sdxSL7FDtBw?pwd=1234?
提取碼:1234

jdk鏈接:https://pan.baidu.com/s/1mQHInn27j1I9uuuicBsyAA?pwd=1234?
提取碼:1234

2、編寫dockerfile文件,官方命名 Dockerfile? ,build會自動尋找這個文件,就不需要 -f 指定了

FROM centos:7
MAINTAINER wq<123456@qq.com>COPY readme.txt /usr/local/readme.txtADD jdk-8u131-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.75.tar.gz /usr/local/RUN yum install -y vim net-toolsENV MYPATH /usr/local
WORKDIR $MYPATHENV JAVA_HOME /usr/local/jdk1.8.0_131
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.75
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.75
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/binEXPOSE 8080CMD /usr/local/apache-tomcat-9.0.75/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.75/bin/logs/catalina.out

3、構建鏡像

[root@wq tomcat]# docker build -t diytomcat .
[+] Building 0.5s (11/11) FINISHED                                                                   docker:default=> [internal] load build definition from Dockerfile                                                           0.0s=> => transferring dockerfile: 681B                                                                           0.0s=> [internal] load .dockerignore                                                                              0.0s=> => transferring context: 2B                                                                                0.0s=> [internal] load metadata for docker.io/library/centos:7                                                    0.2s=> [1/6] FROM docker.io/library/centos:7@sha256:9d4bcbbb213dfd745b58be38b13b996ebb5ac315fe75711bd618426a630e  0.0s=> [internal] load build context                                                                              0.0s=> => transferring context: 126B                                                                              0.0s=> CACHED [2/6] COPY readme.txt /usr/local/readme.txt                                                         0.0s=> CACHED [3/6] ADD jdk-8u131-linux-x64.tar.gz /usr/local/                                                    0.0s=> CACHED [4/6] ADD apache-tomcat-9.0.75.tar.gz /usr/local/                                                   0.0s=> CACHED [5/6] RUN yum install -y vim net-tools                                                              0.0s=> CACHED [6/6] WORKDIR /usr/local                                                                            0.0s=> exporting to image                                                                                         0.0s=> => exporting layers                                                                                        0.0s=> => writing image sha256:dfa3156617fc4cc29fa298858eaf09dab87afaa5364b7cca8423940957794fad                   0.0s=> => naming to docker.io/library/diytomcat                                                                   0.0s[root@wq tomcat]# docker images |grep diytomcat
diytomcat             latest    dfa3156617fc   23 minutes ago   893MB

4、啟動鏡像

[root@wq tomcat]# docker images |grep diytomcat
diytomcat             latest    dfa3156617fc   23 minutes ago   893MB
[root@wq tomcat]# docker run -d -p 8040:8080 --name my_tomcat -v /home/wq/tomcat/test:/usr/local/apache-tomcat-9.0.75/webapps/test -v /home/wq/tomcat/tomcat_logs/:/usr/local/apache-tomcat-9.0.75/logs diytomcat
9624ae479e00fdcf54ab047de0e14a9d48d31edde940650e74b9d4b26fe1d160
[root@wq tomcat]#
[root@wq tomcat]# docker ps |grep my_tomcat
9624ae479e00   diytomcat   "/bin/sh -c '/usr/lo…"   13 seconds ago   Up 12 seconds   0.0.0.0:8040->8080/tcp, :::8040->8080/tcp              my_tomcat

5、訪問測試

虛擬機需要關閉防火墻,服務器需要允許8040端口通過安全組

[root@wq test]# curl localhost:8040<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><title>Apache Tomcat/9.0.75</title><link href="favicon.ico" rel="icon" type="image/x-icon" /><link href="tomcat.css" rel="stylesheet" type="text/css" /></head><body><div id="wrapper"><div id="navigation" class="curved container"><span id="nav-home"><a href="https://tomcat.apache.org/">Home</a></span><span id="nav-hosts"><a href="/docs/">Documentation</a></span><span id="nav-config"><a href="/docs/config/">Configuration</a></span><span id="nav-examples"><a href="/examples/">Examples</a></span><span id="nav-wiki"><a href="https://cwiki.apache.org/confluence/display/TOMCAT/">Wiki</a></span><span id="nav-lists"><a href="https://tomcat.apache.org/lists.html">Mailing Lists</a></span><span id="nav-help"><a href="https://tomcat.apache.org/findhelp.html">Find Help</a></span><br class="separator" /></div><div id="asf-box"><h1>Apache Tomcat/9.0.75</h1></div><div id="upper" class="curved container"><div id="congrats" class="curved container"><h2>If you're seeing this, you've successfully installed Tomcat. Congratulations!</h2></div><div id="notice"><img id="tomcat-logo" src="tomcat.svg" alt="[tomcat logo]" /><div id="tasks"><h3>Recommended Reading:</h3><h4><a href="/docs/security-howto.html">Security Considerations How-To</a></h4><h4><a href="/docs/manager-howto.html">Manager Application How-To</a></h4><h4><a href="/docs/cluster-howto.html">Clustering/Session Replication How-To</a></h4></div></div><div id="actions"><div class="button"><a class="container shadow" href="/manager/status"><span>Server Status</span></a></div><div class="button"><a class="container shadow" href="/manager/html"><span>Manager App</span></a></div><div class="button"><a class="container shadow" href="/host-manager/html"><span>Host Manager</span></a></div></div><br class="separator" /></div><div id="middle" class="curved container"><h3>Developer Quick Start</h3><div class="col25"><div class="container"><p><a href="/docs/setup.html">Tomcat Setup</a></p><p><a href="/docs/appdev/">First Web Application</a></p></div></div><div class="col25"><div class="container"><p><a href="/docs/realm-howto.html">Realms &amp; AAA</a></p><p><a href="/docs/jndi-datasource-examples-howto.html">JDBC DataSources</a></p></div></div><div class="col25"><div class="container"><p><a href="/examples/">Examples</a></p></div></div><div class="col25"><div class="container"><p><a href="https://cwiki.apache.org/confluence/display/TOMCAT/Specifications">Servlet Specifications</a></p><p><a href="https://cwiki.apache.org/confluence/display/TOMCAT/Tomcat+Versions">Tomcat Versions</a></p></div></div><br class="separator" /></div><div id="lower"><div id="low-manage" class=""><div class="curved container"><h3>Managing Tomcat</h3><p>For security, access to the <a href="/manager/html">manager webapp</a> is restricted.Users are defined in:</p><pre>$CATALINA_HOME/conf/tomcat-users.xml</pre><p>In Tomcat 9.0 access to the manager application is split betweendifferent users. &nbsp; <a href="/docs/manager-howto.html">Read more...</a></p><br /><h4><a href="/docs/RELEASE-NOTES.txt">Release Notes</a></h4><h4><a href="/docs/changelog.html">Changelog</a></h4><h4><a href="https://tomcat.apache.org/migration.html">Migration Guide</a></h4><h4><a href="https://tomcat.apache.org/security.html">Security Notices</a></h4></div></div><div id="low-docs" class=""><div class="curved container"><h3>Documentation</h3><h4><a href="/docs/">Tomcat 9.0 Documentation</a></h4><h4><a href="/docs/config/">Tomcat 9.0 Configuration</a></h4><h4><a href="https://cwiki.apache.org/confluence/display/TOMCAT/">Tomcat Wiki</a></h4><p>Find additional important configuration information in:</p><pre>$CATALINA_HOME/RUNNING.txt</pre><p>Developers may be interested in:</p><ul><li><a href="https://tomcat.apache.org/bugreport.html">Tomcat 9.0 Bug Database</a></li><li><a href="/docs/api/index.html">Tomcat 9.0 JavaDocs</a></li><li><a href="https://github.com/apache/tomcat/tree/9.0.x">Tomcat 9.0 Git Repository at GitHub</a></li></ul></div></div><div id="low-help" class=""><div class="curved container"><h3>Getting Help</h3><h4><a href="https://tomcat.apache.org/faq/">FAQ</a> and <a href="https://tomcat.apache.org/lists.html">Mailing Lists</a></h4><p>The following mailing lists are available:</p><ul><li id="list-announce"><strong><a href="https://tomcat.apache.org/lists.html#tomcat-announce">tomcat-announce</a><br />Important announcements, releases, security vulnerability notifications. (Low volume).</strong></li><li><a href="https://tomcat.apache.org/lists.html#tomcat-users">tomcat-users</a><br />User support and discussion</li><li><a href="https://tomcat.apache.org/lists.html#taglibs-user">taglibs-user</a><br />User support and discussion for <a href="https://tomcat.apache.org/taglibs/">Apache Taglibs</a></li><li><a href="https://tomcat.apache.org/lists.html#tomcat-dev">tomcat-dev</a><br />Development mailing list, including commit messages</li></ul></div></div><br class="separator" /></div><div id="footer" class="curved container"><div class="col20"><div class="container"><h4>Other Downloads</h4><ul><li><a href="https://tomcat.apache.org/download-connectors.cgi">Tomcat Connectors</a></li><li><a href="https://tomcat.apache.org/download-native.cgi">Tomcat Native</a></li><li><a href="https://tomcat.apache.org/taglibs/">Taglibs</a></li><li><a href="/docs/deployer-howto.html">Deployer</a></li></ul></div></div><div class="col20"><div class="container"><h4>Other Documentation</h4><ul><li><a href="https://tomcat.apache.org/connectors-doc/">Tomcat Connectors</a></li><li><a href="https://tomcat.apache.org/connectors-doc/">mod_jk Documentation</a></li><li><a href="https://tomcat.apache.org/native-doc/">Tomcat Native</a></li><li><a href="/docs/deployer-howto.html">Deployer</a></li></ul></div></div><div class="col20"><div class="container"><h4>Get Involved</h4><ul><li><a href="https://tomcat.apache.org/getinvolved.html">Overview</a></li><li><a href="https://tomcat.apache.org/source.html">Source Repositories</a></li><li><a href="https://tomcat.apache.org/lists.html">Mailing Lists</a></li><li><a href="https://cwiki.apache.org/confluence/display/TOMCAT/">Wiki</a></li></ul></div></div><div class="col20"><div class="container"><h4>Miscellaneous</h4><ul><li><a href="https://tomcat.apache.org/contact.html">Contact</a></li><li><a href="https://tomcat.apache.org/legal.html">Legal</a></li><li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li><li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li></ul></div></div><div class="col20"><div class="container"><h4>Apache Software Foundation</h4><ul><li><a href="https://tomcat.apache.org/whoweare.html">Who We Are</a></li><li><a href="https://tomcat.apache.org/heritage.html">Heritage</a></li><li><a href="https://www.apache.org">Apache Home</a></li><li><a href="https://tomcat.apache.org/resources.html">Resources</a></li></ul></div></div><br class="separator" /></div><p class="copyright">Copyright &copy;1999-2024 Apache Software Foundation.  All Rights Reserved</p></div></body></html>

?27a1319805b147a3a0cbe052728b7837.png

6、發布項目(由于做了卷掛載,可以直接在本地編寫項目就可以發布了!)

?

?

?

?

?

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/718010.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/718010.shtml
英文地址,請注明出處:http://en.pswp.cn/news/718010.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

惠普GT5810打印機報錯E9的處理方法

當打印機檢測到供墨系統需要維護時&#xff0c;將會出現 E9 錯誤。 吳中函 打印出的帶錯誤的供墨系統維護頁包含解決該錯誤的說明。 出現 E9 警告時維持 HP Ink Tank 打印機的打印質量&#xff0c;出現 E9 警告時如何維持 HP Ink Tank 打印機的打印質量。 惠普5810報錯E9通常…

冒泡排序(C語言詳解)

原理&#xff1a;從左到右一次比較&#xff0c;如果左側數字比右側數字大&#xff08;小&#xff09;&#xff0c;則兩數交換&#xff0c;否則比較下一 組數字&#xff0c;每一次大循環比較可以將亂序的最右側數字改為最大&#xff08;最小&#xff09;&#xff0c…

機房運維管理的全面優化:動環監控與IT基礎設施的深度融合

隨著信息技術的飛速發展&#xff0c;機房作為支撐企業信息化建設的核心樞紐&#xff0c;其運維管理的重要性日益凸顯。機房不僅要確保IT基礎設施的高可用性&#xff0c;還需應對日益復雜的安全挑戰和不斷變化的業務需求。因此&#xff0c;構建一個集動環監控、工單管理、資產管…

MySQL運維實戰之備份和恢復(8.2)xtrabackup備份到云端(OSS)

作者&#xff1a;俊達 xtrabackup工具中有一個xbcloud程序&#xff0c;可以將數據庫直接備份到S3對象存儲中&#xff0c;本地不落盤。這里介紹將數據庫直接備份到OSS的一種方法。 具體方法如下&#xff1a; 1、準備OSS 我們使用ossutil工具上傳備份文件。 下載ossutil工具&…

jupyter 一鍵快捷啟動方法研究

1.效果 首先打開dat 文件&#xff0c;同意賦予管理員 輸入序號1 成功啟動 2.Bat代碼 %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&e…

mac報錯:zsh: command not found: npm

1、問題概述&#xff1f; 在mac系統中使用npm命令的時候&#xff0c;mac os報錯提示&#xff1a; zsh: command not found: npm 一般出現發這種情況的原因時沒有安裝npm,而npm這命令時集成在nodejs中的&#xff0c;所以安裝nodejs就可以了。 2、解決辦法 本質就是需要安裝…

Spring:FactoryBean預加載邏輯以及自定義實現Mybatis的接口掃描

Spring&#xff1a;FactoryBean預加載邏輯以及自定義實現Mybatis的接口掃描 1 前言 參考Mybatis框架的Mapper注解掃描Mapper接口的業務邏輯&#xff0c;其中集成Spring的邏輯里使用到了Spring框架的FactoryBean拓展點&#xff0c;本文針對Spring FactoryBean的加載流程進行分…

leetcode10正則表達式匹配

leetcode10正則表達式匹配 思路python 思路 難點1 如何理解特殊字符 ’ * ’ 的作用&#xff1f; 如何正確的利用特殊字符 ’ . ’ 和 ’ * ’ &#xff1f; * 匹配零個或多個前面的那一個元素 "a*" 可表示的字符為不同數目的 a&#xff0c;包括&#xff1a; "…

【大廠AI課學習筆記NO.65】機器學習框架和深度學習框架

筆記思維腦圖已上傳&#xff0c;訪問我的主頁可下載。 https://download.csdn.net/download/giszz/88868909 廣義上&#xff0c;機器學習框架包含了深度學習框架。 本質上&#xff0c;機器學習框架涵蓋分類、回歸、聚類、異常檢測和數據準備等各種學習方法。 深度學習框架涵…

Android PMS——權限控制分析(十二)

PMS 中的權限控制通過權限管理和權限請求兩個方面來實現。應用在 Android 系統中需要聲明和請求權限,PMS 則會根據應用聲明的權限和用戶的選擇來進行權限的管理和控制。 一、主要函數 1、Settings 源碼位置:/frameworks/base/services/core/java/com/android/server/pm/Se…

SpringBoot啟動擴展應用:干預優化+加快啟動時間

一、SpringBoot啟動配置原理簡述 本內容直接查看分析SpringBoot啟動配置原理&#xff0c;傳送門&#xff1a; 二、SpringBoot啟動過程干預 Spring Boot啟動過程中我們可以實現以下干預工作&#xff1a; 修改Spring Boot默認的配置屬性。使用ConfigurationProperties和Enable…

python celery beat實現定時任務

在Celery在python中的應用除了實現異步任務&#xff08;async task)外也可以執行定時任務(beat) 1.Celery定時任務是什么&#xff1f; Celery默認任務單元由任務生產者觸發,但有時可能需要其自動觸發, 而beat進程正是負責此類任務,能夠自動觸發定時/周期性任務. 只需要在配置…

吳恩達deeplearning.ai:學習曲線決定下一步怎么做

以下內容有任何不理解可以翻看我之前的博客哦&#xff1a;吳恩達deeplearning.ai專欄 學習曲線是一種圖形表示方法&#xff0c;用于展示模型在訓練過程中的學習表現&#xff0c;即模型的訓練集和驗證集上的性能如何隨著訓練時間的增加而變化。可以幫助我們了解模型的學習進度。…

Orbit 使用指南 01| 創建空白場景 | Isaac Sim | Omniverse

如是我聞&#xff1a; 在使用指南01中 演示如何使用獨立的Python腳本啟動和控制Isaac Sim模擬器。介紹Orbit框架中兩個最常用的類app.AppLauncher和sim.SimulationContext。實踐在Oribit中設置一個空場景 代碼 本指南對應于orbit/source/standalone/tutorials/00_sim目錄中的…

制作耳機殼的UV樹脂和塑料材質哪一個成本更高一些?

總體來說&#xff0c;制作耳機殼的UV樹脂的成本可能會略高于塑料材質。 原材料成本&#xff1a;UV樹脂通常是通過復雜的合成過程制成的。這些過程不僅需要大量的能源投入&#xff0c;還需要較高水平的技術和設備支持&#xff0c;因此原材料成本較高。相比之下&#xff0c;塑料…

04-prometheus服務的動態發現

一、概述 目前&#xff0c;我們每增加一個被監控的節點&#xff0c;就需要修改prometheus的配置文件&#xff0c;然后重新加載prometheus服務&#xff0c;這種方式比較繁瑣&#xff0c;每次新增、刪除被監控節點都需要重新操作一遍&#xff0c;不適合生產環境的大規模監控架構&…

Go-zero中分布式事務的實現(DTM分布式事務管理器,在一個APi中如何調用兩個不同服務的rpc層,并保證兩個不同服務之間的業務邏輯同時成功)

涉及到的相關技術 1.DTM分布式事務管理器,解決跨數據庫、跨服務、跨語言棧更新數據的一致性問題。 2.SAGA事務模式,SAGA事務模式是DTM中常用的一種模式,簡單易上手.(當然還有其它更多的事務模式,這里采用的SAGA只不過是其中一種較為簡單的方法) 3.Go-zero框架,ETCD服務注冊... …

Windows 2012 設置 nginx 開機自啟動(適用于windows2012/10)

Windows 2012 設置 nginx 開機自啟動&#xff08;適用于windows2012/10&#xff09;https://www.cnblogs.com/xuegqcto/articles/7521483.html 在windows server 2012上安裝nginx&#xff0c;同時配置開機自啟動服務&#xff08;推薦使用“Windows Service Wrapper”工具&…

leetcode 740.刪除并活得點數

這道題和打家劫舍得思路很像。 思路&#xff1a;首先我們看到題目的意思&#xff0c;就是說我們如果選擇了一個數&#xff0c;那么它相鄰的數就會不得選入&#xff0c;也就是刪除。這就是上一個題那個相鄰的家不能偷的問題唄&#xff01; 我們從那個地方轉換一下&#xff0c;…

【Linux】線程概念|線程理解|線程控制

文章目錄 線程概念Linux中線程是否存在的討論線程創建和線程控制線程的終止和等待&#xff08;三種終止方式 pthread_join()的void**retval&#xff09; 線程概念 線程就是進程內部的一個執行流&#xff0c;線程在進程內運行&#xff0c;線程在進程的地址空間內運行&#xff0…