Skip to content

about

我们来使用docker配置Tomcat并运行java的web项目 环境与依赖

阿里云centos + docker 安装及配置docker:https://www.cnblogs.com/Neeo/p/10864123.html#docker

安装Tomcat

tomcat镜像的查找 首先去镜像仓库中查找Tomcat镜像,查找镜像的语法:

docker search 镜像名称:镜像TAG

# 查找Tomcat镜像
[root@r ~]# docker search tomcat
NAME                          DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
tomcat                        Apache Tomcat is an open source implementati…   2602                [OK]                
tomee                         Apache TomEE is an all-Apache Java EE certif…   73                  [OK]                
dordoka/tomcat                Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 base…   53                                      [OK]
bitnami/tomcat                Bitnami Tomcat Docker Image                     30                                      [OK]
kubeguide/tomcat-app          Tomcat image for Chapter 1                      28                                      
consol/tomcat-7.0             Tomcat 7.0.57, 8080, "admin/admin"              16                                      [OK]
cloudesire/tomcat             Tomcat server, 6/7/8                            15                                      [OK]
aallam/tomcat-mysql           Debian, Oracle JDK, Tomcat & MySQL              12                                      [OK]
arm32v7/tomcat                Apache Tomcat is an open source implementati…   10                                      
rightctrl/tomcat              CentOS , Oracle Java, tomcat application ssl…   6                                       [OK]
maluuba/tomcat7-java8         Tomcat7 with java8.                             4                                       
unidata/tomcat-docker         Security-hardened Tomcat Docker container.      4                                       [OK]
amd64/tomcat                  Apache Tomcat is an open source implementati…   2                                       
arm64v8/tomcat                Apache Tomcat is an open source implementati…   2                                       
oobsri/tomcat8                Testing CI Jobs with different names.           1                                       
ppc64le/tomcat                Apache Tomcat is an open source implementati…   1                                       
camptocamp/tomcat-logback     Docker image for tomcat with logback integra…   1                                       [OK]
99taxis/tomcat7               Tomcat7                                         1                                       [OK]
i386/tomcat                   Apache Tomcat is an open source implementati…   1                                       
jelastic/tomcat               An image of the Tomcat Java application serv…   0                                       
secoresearch/tomcat-varnish   Tomcat and Varnish 5.0                          0                                       [OK]
picoded/tomcat7               tomcat7 with jre8 and MANAGER_USER / MANAGER…   0                                       [OK]
s390x/tomcat                  Apache Tomcat is an open source implementati…   0                                       
appsvc/tomcat                                                                 0                                       
cfje/tomcat-resource          Tomcat Concourse Resource                       0

可以看到,有很多的Tomcat镜像,那么我们应该怎么选用这些镜像呢?通常情况下,我们都知道官方的东西基本上代表安全无公害,因为可以看到右边有official标识为OK的就是官方的镜像,因此我们拉取第一个Tomcat就可以。

什么是TAG?什么是镜像TAG?镜像的TAG值就是镜像的版本,就比如Tomcat有7.0、8.5、9.0等我们常用的版本,那么相应的这些软件被做成docker镜像之后,官方也会根据软件本身的版本对应出docker镜像的版本。

Tomcat镜像的拉取 现在可以将Tomcat镜像拉取到docker容器中了:

docker pull tomcat
docker pull tomcat:TAG

# 示例
[root@r ~]# docker pull tomcat

查看拉取的镜像 当拉取成功后,我们可以查看容器中拉取的镜像:

docker images

# 示例
[root@r ~]# docker images
REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
tomcat                 latest              6408fdc94212        6 weeks ago         507MB
jenkins/jenkins        lts                 22b8b9a84dbe        6 weeks ago         568MB
kennethreitz/httpbin   latest              b138b9264903        14 months ago       534MB

Tomcat的镜像id是6408fdc94212,记住它,我们后续可以通过这个id来停止镜像。 启动Tomcat

docker run –d -p 6002:8080 tomcat

-d是后台执行,-p的意思是将宿主机的6002端口映射到容器中Tomcat监听的8080端口。 访问Tomcat主页 此时,在浏览器地址栏输入http://www.neeo.cc:6002/,就可以看到Tomcat的主页了。 1832669865417113600.png停止Tomcat

docker stop 镜像名称

# 示例,停止Tomcat镜像
docker stop 6408fdc94212

先停了是为了后续添加完应用再启动。

添加Java的web应用

添加Java的web应用 首先,将本地的java war包,先上传到服务器的指定目录。 然后将该目录挂载到Tomcat的webapps目录内,并且启动它:

[root@r zhangkai]# docker run -d --restart=always -v /home/zhangkai/pinter.war:/usr/local/tomcat/webapps/pinter.war -p 6002:8080 docker.io/tomcat
c4f9dd45d80cadcdb1330595484e621b8700944499d13cacbe6f685b8a51d65d

上述命令是将我服务器/home/zhangkai/目录中的pinter.war包挂在到tomcat/usr/local/tomcat/webapps/目录中,并命名为pinter.war,然后宿主机的端口是6002与Tomcat镜像监听的8080端口,docker.io/tomcat是Tomcat的镜像名。 PS:pinter.war来自码同学,感谢! 浏览器访问

http://www.neeo.cc:6002/pinter/index

1832669865769435136.png

ok,完事儿!

欢迎斧正,that's all see also:在docker中用Tomcat运行web项目 | Docker部署Tomcat及Web应用的实现 | Docker安装Tomcat镜像并部署web项目 | (二)Docker部署Tomcat及Web应用