Docker部署Tomcat的示例代碼
一、Tomcat介紹
1. Tomcat簡(jiǎn)介
Tomcat 服務(wù)器是一個(gè)免費(fèi)的開放源代碼的Web 應(yīng)用服務(wù)器,屬于輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場(chǎng)合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。
2. Tomcat特點(diǎn)
Tomcat是一種開源的、輕量級(jí)的應(yīng)用服務(wù)器,它實(shí)現(xiàn)了Java Servlet和JavaServer Pages規(guī)范。
其特點(diǎn)包括:
- 輕量級(jí):Tomcat是一個(gè)輕量級(jí)的Web容器,在內(nèi)存占用和啟動(dòng)時(shí)間上都比較快。
- 易用性:Tomcat的使用和部署非常簡(jiǎn)單,它提供了方便的Web界面和命令行工具來(lái)管理和配置Web應(yīng)用程序。
- 易擴(kuò)展性:Tomcat支持多種插件和擴(kuò)展,可以方便地集成其他的Web應(yīng)用程序框架和技術(shù)。
- 跨平臺(tái)性:Tomcat是基于Java開發(fā)的,可以在多種操作系統(tǒng)平臺(tái)上運(yùn)行。
- 安全性:Tomcat提供了豐富的安全管理和訪問控制機(jī)制,可以確保Web應(yīng)用程序的安全性和可靠性。
3. Tomcat容器部署的優(yōu)點(diǎn)
Tomcat用容器部署的優(yōu)點(diǎn)包括:
- 簡(jiǎn)化部署:通過(guò)容器化,可以將Tomcat的應(yīng)用程序、配置文件和依賴項(xiàng)打包到一個(gè)docker容器中,從而簡(jiǎn)化了部署流程。
- 輕量級(jí):容器是輕量級(jí)的,只包含運(yùn)行應(yīng)用程序所需的組件,這可以減少資源消耗,提高效率。
- 靈活性:容器可以隨時(shí)啟動(dòng)、停止和移動(dòng),可以輕松地進(jìn)行擴(kuò)展和縮減,這為應(yīng)對(duì)流量峰值和成本節(jié)約提供了便利。
- 可靠性:容器提供隔離和安全性,可以防止應(yīng)用程序之間的相互影響,從而提高可靠性和安全性。
- 云友好性:容器可以輕松地在云端部署,與DevOps實(shí)踐和自動(dòng)化部署相適應(yīng),提高了應(yīng)用程序管理的效率。
4. Tomcat的配置文件
Tomcat的配置文件包括以下幾個(gè):
- server.xml:Tomcat服務(wù)器的主配置文件,定義了Tomcat的全局設(shè)置,包括端口、連接器、虛擬主機(jī)等。
- web.xml:Web應(yīng)用的配置文件,定義了Web應(yīng)用的基本設(shè)置和參數(shù)。
- context.xml:Web應(yīng)用的上下文配置文件,定義了Web應(yīng)用的上下文作用域的參數(shù)和設(shè)置。
- catalina.properties:Tomcat的全局屬性文件,定義了Tomcat的全局屬性值。
- logging.properties:Tomcat的日志配置文件,定義了Tomcat的日志記錄器和級(jí)別。
- tomcat-users.xml:Tomcat的用戶認(rèn)證和授權(quán)配置文件,定義了Tomcat管理界面的賬戶和權(quán)限。
- realm.properties:Tomcat的安全領(lǐng)域配置文件,定義了Tomcat安全領(lǐng)域的用戶名和密碼及其角色。
- jaspic-providers.xml:Tomcat的JASPIC(Java Authentication Service Provider Interface for Containers)配置文件,定義了JASPIC提供者的配置信息。
二、檢查本地環(huán)境
檢查本地操作系統(tǒng)版本:
[root@node ~]# cat /etc/os-release? NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7"
三、檢查本地Docker環(huán)境
1. 檢查本地Docker服務(wù)
檢查本地Docker服務(wù)狀態(tài),確保Docker服務(wù)正常運(yùn)行。
[root@node ~]# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2022-10-31 03:28:51 CST; 2 days ago Docs: https://docs.docker.com Main PID: 11884 (dockerd) Tasks: 108 Memory: 2.7G
2. 檢查Docker版本
檢查Docker版本
[root@server001 ~]# docker version Client: Docker Engine - Community ?Version: ? ? ? ? ? 20.10.22 ?API version: ? ? ? 1.41 ?Go version: ? ? ? ?go1.18.9 ?Git commit: ? ? ? ?3a2c30b ?Built: ? ? ? ? ? ? Thu Dec 15 22:30:24 2022 ?OS/Arch: ? ? ? ? ? linux/amd64 ?Context: ? ? ? ? ? default ?Experimental: ? ? ?true Server: Docker Engine - Community ?Engine: ? Version: ? ? ? ? ?20.10.22 ? API version: ? ? ?1.41 (minimum version 1.12) ? Go version: ? ? ? go1.18.9 ? Git commit: ? ? ? 42c8b31 ? Built: ? ? ? ? ? ?Thu Dec 15 22:28:33 2022 ? OS/Arch: ? ? ? ? ?linux/amd64 ? Experimental: ? ? false ?containerd: ? Version: ? ? ? ? ?1.6.14 ? GitCommit: ? ? ? ?9ba4b250366a5ddde94bb7c9d1def331423aa323 ?runc: ? Version: ? ? ? ? ?1.1.4 ? GitCommit: ? ? ? ?v1.1.4-0-g5fd4c4d ?docker-init: ? Version: ? ? ? ? ?0.19.0 ? GitCommit: ? ? ? ?de40ad0
四、搜索docker hub中的tomcat鏡像
在docker官方的鏡像倉(cāng)庫(kù)docker hub中搜索tomcat的容器鏡像,
這里直接選擇的容器鏡像為:tomcat:8.5.46-jdk8-openjdk
[root@node ~]# docker search tomcat NAME DESCRIPTION STARS OFFICIAL AUTOMATED tomcat Apache Tomcat is an open source implementati… 3426 [OK] tomee Apache TomEE is an all-Apache Java EE certif… 98 [OK] bitnami/tomcat Bitnami Tomcat Docker Image 47 [OK] arm32v7/tomcat Apache Tomcat is an open source implementati… 11 arm64v8/tomcat Apache Tomcat is an open source implementati… 8 rightctrl/tomcat CentOS , Oracle Java, tomcat application ssl… 7 [OK] amd64/tomcat Apache Tomcat is an open source implementati… 5 jelastic/tomcat An image of the Tomcat Java application serv… 4 tomcat2111/pisignage-server PiSignage Server 3 [OK] oobsri/tomcat8 Testing CI Jobs with different names. 2 cfje/tomcat-resource Tomcat Concourse Resource 2 chenyufeng/tomcat-centos tomcat基于centos6的鏡像 1 [OK] ppc64le/tomcat Apache Tomcat is an open source implementati… 1 appsvc/tomcat 1 tomcat0823/auto1 0 tomcatengineering/pg_backup_rotated Clone of martianrock/pg_backup_rotated but w… 0 tomcat2111/papercut-mf PaperCut MF Application Server 0 softwareplant/tomcat Tomcat images for jira-cloud testing 0 [OK] misolims/miso-base MySQL 5.7 Database and Tomcat 8 Server neede… 0 s390x/tomcat Apache Tomcat is an open source implementati… 0 semoss/docker-tomcat Tomcat, Java, Maven, and Git on top of debian 0 [OK] wnprcehr/tomcat 0 secoresearch/tomcat-varnish Tomcat and Varnish 5.0 0 [OK] tomcat2111/bitbucket-pipelines-elasticsearch Elasticsearch for Bitbucket's Pipelines 0 tomcat2111/phpredisadmin This is a Docker image for phpredisadmin 0 [OK]
五、下載tomcat鏡像
在docker hub中拉取tomcat:8.5.46-jdk8-openjdk鏡像。
[root@node tomcat]# docker pull tomcat:8.5.46-jdk8-openjdk 8.5.46-jdk8-openjdk: Pulling from library/tomcat 092586df9206: Pull complete ef599477fae0: Pull complete 4530c6472b5d: Pull complete d34d61487075: Pull complete 272f46008219: Pull complete 12ff6ccfe7a6: Pull complete f26b99e1adb1: Pull complete 21bec9c8ea28: Pull complete b8a32f28e27c: Pull complete 94fdd0ba0430: Pull complete Digest: sha256:bb4ceffaf5aa2eba6c3ee0db46d863c8b23b263cb547dec0942e757598fd0c24 Status: Downloaded newer image for tomcat:8.5.46-jdk8-openjdk docker.io/library/tomcat:8.5.46-jdk8-openjdk
六、創(chuàng)建Tomcat容器
1.創(chuàng)建數(shù)據(jù)目錄
創(chuàng)建容器掛載目錄
[root@node ~]# mkdir -p /data/tomcat/data [root@node ~]# chmod -R 777 /data/tomcat/
2.運(yùn)行Tomcat容器
使用docker-cli快速創(chuàng)建tomcat容器。
[root@node tomcat]# docker run -d --name my_web --restart always -p 7090:8080 -v /data/tomcat/data:/usr/local/tomcat/webapps/ROOT/ tomcat:8.5.46-jdk8-openjdk 26674fb4896f49f26282b3fe21b484d40017d13fd7cc474db5badf57bdb4a865
3.查看Tomcat容器狀態(tài)
檢查tomcat容器的運(yùn)行狀態(tài),確保容器的正常啟動(dòng)。
[root@node data]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 26674fb4896f tomcat:8.5.46-jdk8-openjdk "catalina.sh run" About a minute ago Up About a minute 0.0.0.0:7090->8080/tcp, :::7090->8080/tcp my_web
七、訪問Tomcat網(wǎng)頁(yè)
1.編輯網(wǎng)頁(yè)內(nèi)容
編輯一個(gè)測(cè)試index.html網(wǎng)頁(yè)文件。
[root@node tomcat]# cd data/ [root@node data]# echo hello > index.html
2.訪問tomcat網(wǎng)頁(yè)
訪問地址:http://192.168.3.166:7090
可以正常訪問到網(wǎng)頁(yè)測(cè)試內(nèi)容時(shí),說(shuō)明tomcat容器已經(jīng)正常運(yùn)行了。
到此這篇關(guān)于Docker部署Tomcat的示例代碼的文章就介紹到這了,更多相關(guān)Docker部署Tomcat內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker安裝nginx并部署前端項(xiàng)目的全過(guò)程
作為一個(gè)前端,代碼寫完,最后部署到服務(wù)器,這是一個(gè)必須要了解的過(guò)程,這篇文章主要給大家介紹了關(guān)于docker安裝nginx并部署前端項(xiàng)目的相關(guān)資料,需要的朋友可以參考下2022-05-05Docker compose部署SpringBoot項(xiàng)目連接MySQL及遇到的坑
這篇文章主要介紹了Docker compose部署SpringBoot項(xiàng)目連接MySQL,文中給大家強(qiáng)調(diào)了如果在使用的過(guò)程中修改了Dockerfile,一定要把之前的鏡像刪掉,具體內(nèi)容詳情跟隨小編一起看看吧2021-09-09CentOS服務(wù)器部署Docker+Jenkins持續(xù)集成環(huán)境的方法
本文詳細(xì)介紹在CentOS服務(wù)器上部署Docker和Jenkins持續(xù)集成環(huán)境的步驟,涵蓋了準(zhǔn)備工作、安裝Docker、配置Docker鏡像加速、安裝Jenkins、配置Jenkins以及集成Docker與Jenkins,通過(guò)這些步驟,讀者可以實(shí)現(xiàn)代碼的持續(xù)集成與快速部署,提高軟件開發(fā)效率,感興趣的朋友一起看看吧2025-02-02docker啟動(dòng)mysql5.7服務(wù)詳細(xì)說(shuō)明
這篇文章主要給大家介紹了關(guān)于docker啟動(dòng)mysql5.7服務(wù)的相關(guān)資料,文中通過(guò)代碼示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考價(jià)值,需要的朋友可以參考下2023-09-09k3s?通過(guò)docker部署?Kubernetes的方法步驟
本文主要介紹了k3s?通過(guò)docker部署?Kubernetes的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11Docker部署項(xiàng)目完全使用指南(小結(jié))
本文主要介紹了Docker部署項(xiàng)目完全使用指南,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03