050_Docker安装Tomcat


参考文档

image.png

docker仓库搜索tomcat镜像

:::info
docker仓库:https://hub.docker.com/
:::
image.png

docker run 直接创建tomcat容器

image.png
:::info
自动下载Tomcat镜像,创建容器并启动,退出容器后,容器自动删除
:::

[root@ecs-214025 admin]# docker run -it --rm tomcat:9.0
Unable to find image 'tomcat:9.0' locally
9.0: Pulling from library/tomcat
d7bfe07ed847: Pull complete 
a32598539a8f: Pull complete 
5437eeffcc0b: Pull complete 
79b1a9e656a3: Pull complete 
0978383c4437: Pull complete 
320d4018c2ed: Pull complete 
c916898cc224: Pull complete 
Digest: sha256:11f90bf361949e85a490826b24f7c2be4ec8fe689df34ad31e9abd3bfdb31638
Status: Downloaded newer image for tomcat:9.0
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /opt/java/openjdk
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
26-Jun-2022 15:08:36.129 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name:   Apache Tomcat/9.0.64
26-Jun-2022 15:08:36.144 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Jun 2 2022 19:08:46 UTC
26-Jun-2022 15:08:36.144 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 9.0.64.0
26-Jun-2022 15:08:36.144 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
26-Jun-2022 15:08:36.145 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            3.10.0-1160.62.1.el7.x86_64
26-Jun-2022 15:08:36.145 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
26-Jun-2022 15:08:36.145 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /opt/java/openjdk
26-Jun-2022 15:08:36.145 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           17.0.3+7
26-Jun-2022 15:08:36.145 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Eclipse Adoptium
26-Jun-2022 15:08:36.145 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /usr/local/tomcat
26-Jun-2022 15:08:36.145 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /usr/local/tomcat
26-Jun-2022 15:08:36.162 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.lang=ALL-UNNAMED
26-Jun-2022 15:08:36.162 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.io=ALL-UNNAMED
26-Jun-2022 15:08:36.163 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.util=ALL-UNNAMED
26-Jun-2022 15:08:36.163 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.base/java.util.concurrent=ALL-UNNAMED
26-Jun-2022 15:08:36.163 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
26-Jun-2022 15:08:36.163 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties
26-Jun-2022 15:08:36.163 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
26-Jun-2022 15:08:36.163 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
26-Jun-2022 15:08:36.163 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
26-Jun-2022 15:08:36.163 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
26-Jun-2022 15:08:36.163 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
26-Jun-2022 15:08:36.163 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/tomcat
26-Jun-2022 15:08:36.163 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/tomcat
26-Jun-2022 15:08:36.163 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp
26-Jun-2022 15:08:36.195 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded Apache Tomcat Native library [1.2.33] using APR version [1.6.5].
26-Jun-2022 15:08:36.195 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true], UDS [true].
26-Jun-2022 15:08:36.195 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
26-Jun-2022 15:08:36.211 INFO [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 1.1.1f  31 Mar 2020]
26-Jun-2022 15:08:36.932 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
26-Jun-2022 15:08:36.985 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [1233] milliseconds
26-Jun-2022 15:08:37.063 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
26-Jun-2022 15:08:37.063 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.64]
26-Jun-2022 15:08:37.085 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
26-Jun-2022 15:08:37.169 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [184] milliseconds
^C26-Jun-2022 15:09:24.028 INFO [Thread-2] org.apache.coyote.AbstractProtocol.pause Pausing ProtocolHandler ["http-nio-8080"]
26-Jun-2022 15:09:24.036 INFO [Thread-2] org.apache.catalina.core.StandardService.stopInternal Stopping service [Catalina]
26-Jun-2022 15:09:24.037 INFO [Thread-2] org.apache.coyote.AbstractProtocol.stop Stopping ProtocolHandler ["http-nio-8080"]
26-Jun-2022 15:09:24.042 INFO [Thread-2] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["http-nio-8080"]

[root@ecs-214025 admin]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@ecs-214025 admin]# docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS                      PORTS     NAMES
2d03ed78527d   nginx     "/docker-entrypoint.…"   31 minutes ago   Exited (0) 11 minutes ago             nginx01
e22c8e5badd6   centos    "/bin/bash"              6 hours ago      Exited (0) 6 hours ago                goofy_franklin
[root@ecs-214025 admin]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
nginx         latest    55f4b40fe486   3 days ago     142MB
mysql         latest    968083d5be36   3 days ago     524MB
tomcat        9.0       bfb414f2cf9e   2 weeks ago    480MB
hello-world   latest    feb5d9fea6a5   9 months ago   13.3kB
centos        latest    5d0da3dc9764   9 months ago   231MB
[root@ecs-214025 admin]# 

docker search tomcat 搜索Tomcat镜像

[root@ecs-214025 admin]# docker search tomcat
NAME                                           DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
tomcat                                         Apache Tomcat is an open source implementati…   3344      [OK]       
tomee                                          Apache TomEE is an all-Apache Java EE certif…   97        [OK]       
bitnami/tomcat                                 Bitnami Tomcat Docker Image                     45                   [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…   4                    
jelastic/tomcat                                An image of the Tomcat Java application serv…   4                    
tomcat2111/pisignage-server                    PiSignage Server                                3                    [OK]
cfje/tomcat-resource                           Tomcat Concourse Resource                       2                    
oobsri/tomcat8                                 Testing CI Jobs with different names.           2                    
appsvc/tomcat                                                                                  1                    
chenyufeng/tomcat-centos                       tomcat基于centos6的镜像                              1                    [OK]
ppc64le/tomcat                                 Apache Tomcat is an open source implementati…   1                    
tomcatling/jupyterhub_aws                                                                      1                    
softwareplant/tomcat                           Tomcat images for jira-cloud testing            0                    [OK]
tomcat2111/papercut-mf                         PaperCut MF Application Server                  0                    
tomcat0823/auto1                                                                               0                    
misolims/miso-base                             MySQL 5.7 Database and Tomcat 8 Server neede…   0                    
tomcat2111/bitbucket-pipelines-elasticsearch   Elasticsearch for Bitbucket's Pipelines         0                    
semoss/docker-tomcat                           Tomcat, Java, Maven, and Git on top of debian   0                    [OK]
s390x/tomcat                                   Apache Tomcat is an open source implementati…   0                    
tomcat2111/phpredisadmin                       This is a Docker image for phpredisadmin        0                    [OK]
secoresearch/tomcat-varnish                    Tomcat and Varnish 5.0                          0                    [OK]
tomcatengineering/pg_backup_rotated            Clone of martianrock/pg_backup_rotated but w…   0                    
[root@ecs-214025 admin]# 

docker pull tomcat 下载Tomcat镜像

[root@ecs-214025 admin]# docker pull tomcat
Using default tag: latest
latest: Pulling from library/tomcat
d7bfe07ed847: Already exists 
a32598539a8f: Already exists 
5437eeffcc0b: Already exists 
79b1a9e656a3: Already exists 
0978383c4437: Already exists 
4888f8fc4196: Pull complete 
9fd3a249db6d: Pull complete 
Digest: sha256:8ece5eebda93ab45acf77b237f5564b3c558d0ce782c2f4302796043a621662f
Status: Downloaded newer image for tomcat:latest
docker.io/library/tomcat:latest
[root@ecs-214025 admin]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
nginx         latest    55f4b40fe486   3 days ago     142MB
mysql         latest    968083d5be36   3 days ago     524MB
tomcat        latest    4813a0e5f815   12 days ago    480MB
tomcat        9.0       bfb414f2cf9e   2 weeks ago    480MB
hello-world   latest    feb5d9fea6a5   9 months ago   13.3kB
centos        latest    5d0da3dc9764   9 months ago   231MB
[root@ecs-214025 admin]# 

docker run 创建并启动tomcat容器

[root@ecs-214025 admin]# docker run -d --name tomcat01 -p 3355:8080 tomcat
74af319417b991ed2b787d2eabda1697c3efffb918e744735052c03701c14008
[root@ecs-214025 admin]# 

curl 测试访问tomcat

:::info
访问失败:404
:::

[root@ecs-214025 admin]# curl localhost:3355
<!doctype html><html lang="en"><head><title>HTTP Status 404 – Not Found</title><style type="text/css">body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 404 – Not Found</h1><hr class="line" /><p><b>Type</b> Status Report</p><p><b>Description</b> The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.</p><hr class="line" /><h3>Apache Tomcat/10.0.22</h3></body></html>[root@ecs-214025 admin]# 

:::info
原因查看:进入tomcat01容器,发现webapps目录下为空,原因是默认最小镜像,剔除了webapps下的文件
:::
image.png

[root@ecs-214025 admin]# docker exec -it tomcat01 /bin/bash
root@74af319417b9:/usr/local/tomcat# ls
bin  BUILDING.txt  conf  CONTRIBUTING.md  lib  LICENSE  logs  native-jni-lib  NOTICE  README.md  RELEASE-NOTES  RUNNING.txt  temp  webapps  webapps.dist  work
root@74af319417b9:/usr/local/tomcat# ls webapps/
root@74af319417b9:/usr/local/tomcat# ls conf/

:::info
解决方法:webapps.dist目录下有文件,拷贝所有文件到webapps目录下就可以了
:::

root@74af319417b9:/usr/local/tomcat# ls webapps.dist/
docs  examples  host-manager  manager  ROOT
root@74af319417b9:/usr/local/tomcat# cp -r webapps.dist/* webapps/
root@74af319417b9:/usr/local/tomcat# ls webapps/
docs  examples  host-manager  manager  ROOT
root@74af319417b9:/usr/local/tomcat# exit
exit
[root@ecs-214025 admin]# curl localhost:3355



<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>Apache Tomcat/10.0.22</title>
        <link href="favicon.ico" rel="icon" type="image/x-icon" />
        <link href="tomcat.css" rel="stylesheet" type="text/css" />
    </head>

posted @   清风(学习-踏实)  阅读(89)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示