9、docker 安装 tomcat

docker 安装 tomcat

查找服务器的 tomcat 信息

[root@docker ~]# docker search tomcat 
NAME                                  DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
tomcat                                Apache Tomcat is an open source implementati…   2207                [OK]                
tomee                                 Apache TomEE is an all-Apache Java EE certif…   59                  [OK]                
dordoka/tomcat                        Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 base…   50                                      [OK]
davidcaste/alpine-tomcat              Apache Tomcat 7/8 using Oracle Java 7/8 with…   31                                      [OK]
bitnami/tomcat                        Bitnami Tomcat Docker Image                     27                                      [OK]
consol/tomcat-7.0                     Tomcat 7.0.57, 8080, "admin/admin"              16                                      [OK]
cloudesire/tomcat                     Tomcat server, 6/7/8                            15                                      [OK]
tutum/tomcat                          Base docker image to run a Tomcat applicatio…   11                                      
meirwa/spring-boot-tomcat-mysql-app   a sample spring-boot app using tomcat and My…   10                                      [OK]
aallam/tomcat-mysql                   Debian, Oracle JDK, Tomcat & MySQL              9                                       [OK]
jeanblanchard/tomcat                  Minimal Docker image with Apache Tomcat         8                                       
arm32v7/tomcat                        Apache Tomcat is an open source implementati…   6                                       
rightctrl/tomcat                      CentOS , Oracle Java, tomcat application ssl…   3                                       [OK]
maluuba/tomcat7-java8                 Tomcat7 with java8.                             3                                       
arm64v8/tomcat                        Apache Tomcat is an open source implementati…   2                                       
fabric8/tomcat-8                      Fabric8 Tomcat 8 Image                          2                                       [OK]
amd64/tomcat                          Apache Tomcat is an open source implementati…   2                                       
99taxis/tomcat7                       Tomcat7                                         1                                       [OK]
primetoninc/tomcat                    Apache tomcat 8.5, 8.0, 7.0                     1                                       [OK]
swisstopo/service-print-tomcat        backend tomcat for service-print "the true, …   0                                       
picoded/tomcat7                       tomcat7 with jre8 and MANAGER_USER / MANAGER…   0                                       [OK]
oobsri/tomcat8                        Testing CI Jobs with different names.           0                                       
cfje/tomcat-resource                  Tomcat Concourse Resource                       0                                       
jelastic/tomcat                       An image of the Tomcat Java application serv…   0                                       
s390x/tomcat                          Apache Tomcat is an open source implementati…   0                                       
[root@docker ~]#

下载官方的 tomcat 镜像

[root@docker ~]# docker pull tomcat
Using default tag: latest
latest: Pulling from library/tomcat
54f7e8ac135a: Pull complete 
d6341e30912f: Pull complete 
087a57faf949: Pull complete 
95065f220961: Pull complete 
0887630ce576: Pull complete 
c375d1959fab: Pull complete 
e00a5e6055cc: Pull complete 
8319f5fb56cf: Pull complete 
258c74eb25ab: Pull complete 
6eb86d11d371: Pull complete 
adb5a4a6adf5: Pull complete 
4685b434f297: Pull complete 
Digest: sha256:e394c2f94eee344300e68d7183f3f19d272316f9691b280ac0e3911ea610e590
Status: Downloaded newer image for tomcat:latest
[root@docker ~]# 

查看 docker 所有的镜像

[root@docker ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
runoob/centos       6.7                 be5e1d8bd085        8 days ago          191MB
runoob/centos       dev                 be5e1d8bd085        8 days ago          191MB
runoob/ubuntu       v2                  b14eca5fdbcb        8 days ago          137MB
ubuntu              14.04               f17b6a61de28        2 weeks ago         188MB
tomcat              latest              78b258e36eed        2 weeks ago         463MB
httpd               latest              2a51bb06dc8b        3 weeks ago         132MB
zookeeper           3.4.13              f336949ce7a1        6 weeks ago         148MB
mysql               5.7.23              1b30b36ae96a        7 weeks ago         372MB
centos              6.7                 192ad0341c8b        8 weeks ago         191MB
centos              latest              75835a67d134        8 weeks ago         200MB
hello-world         latest              4ab4c602aa5e        3 months ago        1.84kB
ubuntu              15.10               9b9cb95443b5        2 years ago         137MB
training/webapp     latest              6fae60ef3446        3 years ago         349MB
[root@docker ~]# 

使用镜像启动 tomcat 容器

1、查看 docker 中 tomcat 的路径

  • 方法一:查看 docker hub 上的 tomcat 的官方说明
  • 方法二:测试

这里介绍测试来查看 docker 中 tomcat 的路径:

# 创建一个tomcat容器,这个容器是临时的
docker run --name tomcat-1 -P -d tomcat

说明:

  • –name tomcat-1 :定义容器的名字为 tomcat-1
  • -P :把容器的端口随机映射到本机的一个端口
  • -d :后台运行容器
  • tomcat :镜像的名字

查看当前正在运行的容器:

[root@docker ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                        NAMES
d4a55582ba1c        tomcat              "catalina.sh run"        5 seconds ago       Up 5 seconds        0.0.0.0:32768->8080/tcp                      tomcat-1
8177759ce014        zookeeper:3.4.13    "/docker-entrypoint.…"   8 days ago          Up About an hour    2888/tcp, 0.0.0.0:2181->2181/tcp, 3888/tcp   zookeeper-1
88a992988696        mysql:5.7.23        "docker-entrypoint.s…"   8 days ago          Up About an hour    0.0.0.0:3306->3306/tcp, 33060/tcp            mysql-1
[root@docker ~]# 

说明:

  • 0.0.0.0:32768->8080/tcp :docker 中的 8080 端口映射到了本机的 32768 端口
    测试:访问:http://192.168.25.11:32768/
    在这里插入图片描述
    tomcat 已经运行起来了,现在就进去容器内部,查找容器地址:
[root@docker ~]# docker exec -it tomcat-1 /bin/bash
root@d4a55582ba1c:/usr/local/tomcat# pwd
/usr/local/tomcat
root@d4a55582ba1c:/usr/local/tomcat# ls
BUILDING.txt  CONTRIBUTING.md  LICENSE  NOTICE  README.md  RELEASE-NOTES  RUNNING.txt  bin  conf  include  lib  logs  native-jni-lib  temp  webapps  work
root@d4a55582ba1c:/usr/local/tomcat# 

说明:

  • -it :是进入交互模式
  • tomat-1 :是该容器的名字

该容器地址为:/usr/local/tomcat

把 docker 中 tomcat 的 conf 、 webapps 、 logs 这三个目录拷贝到本机:

[root@docker ~]# docker cp tomcat-1:/usr/local/tomcat/conf /my-docker/my-tomcat/
[root@docker ~]# docker cp tomcat-1:/usr/local/tomcat/webapps /my-docker/my-tomcat/
[root@docker ~]# docker cp tomcat-1:/usr/local/tomcat/logs /my-docker/my-tomcat/

说明:

  • tomat-1 : 容器的名字
  • /usr/local/tomcat/conf : 容器中 tomcat 的 conf 目录
  • /my-docker/my-tomcat/ : 本机准备存放的目录

现在我本机的my-tomcat文件夹里有webapps conf logs 这三个目录了。

把之前的 tomcat-1 容器删掉:

  • 停掉容器:docker stop tomcat-1
  • 删除容器:docker rm tomcat-1

通过映射来启动 tomcat

[root@docker ~]# docker run -P --name tomcat-1 -v /my-docker/my-tomcat/webapps:/usr/local/tomcat/webapps -v /my-docker/my-tomcat/conf:/usr/local/tomcat/conf -v /my-docker/my-tomcat/logs:/usr/local/tomcat/logs -d tomcat
775aa522589151df6c2ff5825840feaa91d746a47fea2a2b71a53ad68aeba5de
[root@docker ~]# 

说明:

  • -v 把 docker 中的 webapps 、 logs 、 conf 目录分别映射到本机的 tomcat-1 中对应的目录中

映射有什么好处:
就是把 war 包扔到本机的 /my-docker/my-tomcat/webapps 中就可以了 ,docker 自动会部署到 tomcat 中的。修改了本机 conf 中的配置文件,docker 中的配置文件也会立即生效。

猜你喜欢

转载自blog.csdn.net/weixin_42112635/article/details/84886705