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

Dockerfile制作Tomcat鏡像方式

 更新時(shí)間:2026年03月18日 09:20:50   作者:returnthem  
這篇文章主要介紹了Dockerfile制作Tomcat鏡像方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、前置準(zhǔn)備

下載所需安裝包(放到 Dockerfile 同目錄):

  • JDK 8 壓縮包(推薦 jdk-8u121-linux-x64.tar.gz,可從 Oracle 官網(wǎng) / 華為鏡像站下載);
  • Tomcat 8/9 壓縮包(推薦 apache-tomcat-9.0.115.tar.gz,下載地址:https://tomcat.apache.org/download-90.cgi);

目錄結(jié)構(gòu)示例:

/docker-tomcat/
├── Dockerfile       # 下面要寫的構(gòu)建文件
├── jdk-8u121-linux-x64.tar.gz   # JDK安裝包
└── apache-tomcat-9.0.115.tar.gz  # Tomcat安裝包

二、完整 Dockerfile(Tomcat 9 + JDK 8)

FROM centos:7.9.2009

LABEL author="gaoyu" version="1.0" description="CentOS7 + JDK8 + Tomcat9.0.115"

# CentOS 7 yum源
RUN mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak && \
    curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo && \
    yum clean all && yum makecache && \
    yum -y install vim && yum clean all && rm -rf /var/cache/yum/*

# 復(fù)制/解壓文件
COPY readme.txt /usr/local/readme.txt
ADD jdk-8u121-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.115.tar.gz /usr/local/

# 配置環(huán)境變量
ENV MYPATH /usr/local
WORKDIR $MYPATH

ENV JAVA_HOME /usr/local/jdk1.8.0_121
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.115
ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.115
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

# 給Tomcat腳本加執(zhí)行權(quán)限
RUN chmod +x $CATALINA_HOME/bin/*.sh

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

關(guān)鍵說明

  • ADD 會(huì)自動(dòng)解壓壓縮包,比 COPY 更適合處理 tar.gz 文件;
  • catalina.sh run 是前臺(tái)啟動(dòng) Tomcat(必須!否則容器啟動(dòng)后會(huì)立即退出);
  • webapps/* 是可選操作,若需要默認(rèn)頁(yè)面(如 Tomcat 首頁(yè)),可注釋這行。

三、構(gòu)建 Tomcat 鏡像

1. 進(jìn)入 Dockerfile 所在目錄

cd /docker-tomcat

2. 執(zhí)行構(gòu)建命令

# 格式:docker build -t 鏡像名:版本 .
docker build -t mytomcat:1.0 .
  • -t mytomcat:9.0:給鏡像打標(biāo)簽,方便后續(xù)調(diào)用;
  • .:表示構(gòu)建上下文為當(dāng)前目錄(Docker 會(huì)讀取該目錄下的 JDK/Tomcat 包)。

3. 驗(yàn)證鏡像是否構(gòu)建成功

docker images | grep mytomcat

輸出類似以下內(nèi)容即成功:

mytomcat   9.0    xxxxxxxx    2 minutes ago   890MB

四、運(yùn)行 Tomcat 容器

1. 基礎(chǔ)運(yùn)行(端口映射 + 后臺(tái)運(yùn)行)

docker run -d -p 9090:8080 --name gaoyutomcat \
  -v /home/gaoyu/build/tomcat/test:/usr/local/apache-tomcat-9.0.115/webapps/test \
  -v /home/gaoyu/build/tomcat/tomcatlogs/:/usr/local/apache-tomcat-9.0.115/logs \
  mytomcat:1.0
  • -d:后臺(tái)運(yùn)行;
  • -p 8080:8080:宿主機(jī) 8080 端口映射到容器 8080 端口;
  • --name tomcat01:給容器命名,方便管理。

2. 進(jìn)階運(yùn)行(掛載項(xiàng)目 + 數(shù)據(jù)持久化)

如果要部署自己的 WAR 包,可掛載宿主機(jī)目錄到容器:

# 宿主機(jī)創(chuàng)建webapps目錄,放入自己的WAR包(如demo.war)
mkdir -p /home/tomcat/webapps

# 運(yùn)行容器,掛載webapps目錄
docker run -d -p 8080:8080 \
  -v /home/tomcat/webapps:/usr/local/tomcat9/webapps \
  --name tomcat01 \
  mytomcat:9.0

五、驗(yàn)證 Tomcat 是否正常運(yùn)行

1. 查看容器狀態(tài)

docker ps | grep tomcat01

狀態(tài)為 Up 表示運(yùn)行正常。

2. 訪問 Tomcat 頁(yè)面

打開瀏覽器,訪問 http://宿主機(jī)IP:8080

  • 若沒刪 webapps,能看到 Tomcat 首頁(yè);
  • 若刪了 webapps,需部署自己的 WAR 包(如 demo.war),訪問 http://宿主機(jī)IP:8080/demo。

3. 查看 Tomcat 日志(排查問題)

docker logs tomcat01

若啟動(dòng)失敗,日志會(huì)提示具體原因(如 JDK 路徑錯(cuò)誤、端口被占用)。

六、避坑指南

  1. JDK/Tomcat 包名錯(cuò)誤:Dockerfile 中的 jdk-8u381-linux-x64.tar.gz 要和實(shí)際下載的包名完全一致,否則會(huì)報(bào)「文件找不到」;
  2. 容器啟動(dòng)后立即退出:必須用 catalina.sh run 前臺(tái)啟動(dòng),不能用 startup.sh(后臺(tái)啟動(dòng)會(huì)導(dǎo)致容器主進(jìn)程退出);
  3. 端口被占用:若宿主機(jī) 8080 被占用,運(yùn)行時(shí)改端口(如 -p 8081:8080);
  4. 權(quán)限問題:?jiǎn)?dòng)腳本無(wú)執(zhí)行權(quán)限時(shí),加 chmod +x $CATALINA_HOME/bin/*.sh 解決。

七、發(fā)布項(xiàng)目

由于做了卷掛載,只需要直接在本地編寫項(xiàng)目就可以直接發(fā)布了

[root@localhost docker-tomcat]# cd ../
[root@localhost gaoyu]# ls
build  docker-tomcat
[root@localhost gaoyu]# cd build
[root@localhost build]# ls
tomcat
[root@localhost build]# cd ./tomcat
[root@localhost tomcat]# ls
test  tmcatlogs  tomcatlogs
[root@localhost tomcat]# cd ./test
[root@localhost test]# pwd
/home/gaoyu/build/tomcat/test
[root@localhost test]# mkdir WEB-INF
[root@localhost test]# ls
WEB-INF
[root@localhost test]# cd WEB-INF
[root@localhost WEB-INF]# vim web.xml
[root@localhost WEB-INF]# cd ..
[root@localhost test]# ls
WEB-INF
[root@localhost test]# vim index.jsp

總結(jié)

  • 制作 Tomcat 鏡像核心:先裝 JDK(配置環(huán)境變量)→ 解壓 Tomcat → 前臺(tái)啟動(dòng);
  • 構(gòu)建命令:docker build -t mytomcat:9.0 .,運(yùn)行命令:docker run -d -p 8080:8080 --name tomcat01 mytomcat:9.0
  • 關(guān)鍵避坑:用 catalina.sh run 前臺(tái)啟動(dòng),確保 JDK/Tomcat 包名和 Dockerfile 一致。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker設(shè)置日志滾動(dòng)的解決方案

    Docker設(shè)置日志滾動(dòng)的解決方案

    Docker容器默認(rèn)將日志寫入同一文件,可能導(dǎo)致磁盤滿,解決方案包括修改全局docker.service配置或針對(duì)特定容器修改hostconfig.json,下面給大家介紹Docker設(shè)置日志滾動(dòng)的解決方案,感興趣的朋友跟隨小編一起看看吧
    2024-10-10
  • 通過docker容器搭建lamp架構(gòu)的流程

    通過docker容器搭建lamp架構(gòu)的流程

    這篇文章主要介紹了dcoker容器搭建lamp架構(gòu),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • 使用docker搭建gitlab詳解

    使用docker搭建gitlab詳解

    本篇文章主要介紹了使用docker搭建gitlab詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-02-02
  • docker的安裝及docker-compose詳解

    docker的安裝及docker-compose詳解

    Docker是一種輕量級(jí)的容器技術(shù),可以幫助開發(fā)者更加方便地打包、發(fā)布和管理應(yīng)用程序,在Linux系統(tǒng)上安裝Docker非常容易,這篇文章主要介紹了docker的安裝及docker-compose,需要的朋友可以參考下
    2024-05-05
  • Docker宿主機(jī)與容器之間的文件拷貝實(shí)例詳解

    Docker宿主機(jī)與容器之間的文件拷貝實(shí)例詳解

    現(xiàn)在公司用docker,有時(shí)候需要從容器中拷貝文件出來(lái),下面這篇文章主要給大家介紹了關(guān)于Docker宿主機(jī)與容器之間的文件拷貝的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • Docker容器啟動(dòng)和停止的操作指南

    Docker容器啟動(dòng)和停止的操作指南

    Docker 是一個(gè)開源的應(yīng)用容器引擎,允許開發(fā)者將應(yīng)用及其依賴打包在一個(gè)輕量級(jí)的容器中,并在任何支持 Docker 的機(jī)器上運(yùn)行,本文將詳細(xì)介紹如何精確地啟動(dòng)和停止 Docker 容器,提供一系列常見的 Docker 啟動(dòng)與停止操作的代碼示例,幫助你快速上手,需要的朋友可以參考下
    2025-04-04
  • Docker啟動(dòng)參數(shù)超詳細(xì)講解

    Docker啟動(dòng)參數(shù)超詳細(xì)講解

    在啟動(dòng)Docker容器時(shí),我們可以通過添加參數(shù)來(lái)修改容器的配置,這樣可以靈活地適應(yīng)不同的場(chǎng)景和需求,這篇文章主要給大家介紹了關(guān)于Docker啟動(dòng)參數(shù)的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • docker部署code-server的方法

    docker部署code-server的方法

    這篇文章主要介紹了docker部署code-server的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Docker方式安裝GitLab教程

    Docker方式安裝GitLab教程

    在Docker容器中安裝GitLab的步驟包括下載鏡像、配置數(shù)據(jù)目錄、啟動(dòng)容器、獲取初始密碼并設(shè)置管理員密碼,GitLab鏡像不包含郵件傳輸代理,需額外配置
    2025-03-03
  • 詳解docker搭建redis集群的環(huán)境搭建

    詳解docker搭建redis集群的環(huán)境搭建

    本篇文章主要介紹了詳解docker搭建redis集群的環(huán)境搭建,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-07-07

最新評(píng)論

湟中县| 吐鲁番市| 深圳市| 镶黄旗| 罗定市| 皮山县| 饶阳县| 蕲春县| 耒阳市| 安顺市| 漳浦县| 筠连县| 绿春县| 扎兰屯市| 建宁县| 邛崃市| 康乐县| 扎鲁特旗| 辽宁省| 宁晋县| 保亭| 绍兴市| 陆川县| 增城市| 九龙坡区| 武威市| 桑日县| 左云县| 天水市| 东港市| 富川| 民勤县| 甘泉县| 松潘县| 邵武市| 台湾省| 青海省| 巨野县| 孝义市| 梧州市| 敦化市|