1-环境配置 - docker配置Java项目
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的主页了。
停止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
ok,完事儿!
欢迎斧正,that's all see also:[在docker中用Tomcat运行web项目](https://www.jianshu.com/p/7fa316a68620) | [Docker部署Tomcat及Web应用的实现](https://www.jb51.net/article/171207.htm) | [Docker安装Tomcat镜像并部署web项目](https://www.cnblogs.com/jxldjsn/p/10540549.html) | [(二)Docker部署Tomcat及Web应用](https://blog.csdn.net/weixin_39893958/article/details/88686272)