前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker下安装Tomcat

Docker下安装Tomcat

作者头像
用户10358987
发布2024-04-23 19:52:01
720
发布2024-04-23 19:52:01
举报
文章被收录于专栏:javajava
1 查找Docker Hub上的Tomcat镜像:

[root@VM-0-6-centos ~]# docker search tomcat NAME DESCRIPTION STARS OFFICIAL AUTOMATED tomcat Apache Tomcat is an open source implementati… 2919 [OK] tomee Apache TomEE is an all-Apache Java EE certif… 86 [OK] dordoka/tomcat Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 base… 55 [OK] bitnami/tomcat Bitnami Tomcat Docker Image 37 [OK] kubeguide/tomcat-app Tomcat image for Chapter 1 29 consol/tomcat-7.0 Tomcat 7.0.57, 8080, “admin/admin” 17 [OK] cloudesire/tomcat Tomcat server, 6/7/8 15 [OK] aallam/tomcat-mysql Debian, Oracle JDK, Tomcat & MySQL 13 [OK] arm32v7/tomcat Apache Tomcat is an open source implementati… 10 maluuba/tomcat7-java8 Tomcat7 with java8. 6 rightctrl/tomcat CentOS , Oracle Java, tomcat application ssl… 6 [OK] arm64v8/tomcat Apache Tomcat is an open source implementati… 3 cfje/tomcat-resource Tomcat Concourse Resource 2 jelastic/tomcat An image of the Tomcat Java application serv… 2 amd64/tomcat Apache Tomcat is an open source implementati… 2 oobsri/tomcat8 Testing CI Jobs with different names. 1 picoded/tomcat7 tomcat7 with jre8 and MANAGER_USER / MANAGER… 1 [OK] chenyufeng/tomcat-centos tomcat基于centos6的镜像 1 [OK] camptocamp/tomcat-logback Docker image for tomcat with logback integra… 1 [OK] 99taxis/tomcat7 Tomcat7 1 [OK] ppc64le/tomcat Apache Tomcat is an open source implementati… 1 appsvc/tomcat 1 secoresearch/tomcat-varnish Tomcat and Varnish 5.0 0 [OK] s390x/tomcat Apache Tomcat is an open source implementati… 0 softwareplant/tomcat Tomcat images for jira-cloud testing 0 [OK]

2 拉取官方的镜像:

docker pull tomcat

在这里插入图片描述
在这里插入图片描述

稍等一会就可以了。

3 查看Docker所有的镜像:

[root@VM-0-6-centos ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE new_image tag 85e87e5bdcac 3 weeks ago 722MB tomcat latest 57c97f91f49a 5 weeks ago 654MB tomcat 7 a65a903aae35 7 weeks ago 533MB mysql latest dd7265748b5d 8 weeks ago 545MB

4 启动tomcat镜像

8080:前者是外围访问端口,后者是容器内部端口

docker run -d -p 8080:8080 tomcat

此处需要注意的是:

  • 如果后续访问项目需要隐藏端口号,建议此处使用:

docker run -d -p 80:80 tomcat

  • Docker 80端口映射Tomcat 80端口,除了这个之外,还需配置一下Tomcat
在这里插入图片描述
在这里插入图片描述
  • 改完之后访问http://localhost:80/aaa就可以了,或者http://localhost/aaa,效果是一样的。

补充

方法一:

docker run -d --name tomcat_8001 -p 8001:8080 tomcat

说明一下:

  • -p 8081:8080:将容器的 8080 端口映射到主机的 8081 端口。
  • tomcat_8001:容器名
  • tomcat:镜像名

用浏览器访问,404错误?我这里检查完服务器端口8080已经开放了,接下来,我们进入tomcat的目录:

然后查看到里面发现有webapps和webapps.dist两个文件,而wenapps里面没有东西,webapps.dist才是我们要的东西

root@0be1774e1e5e:/usr/local/tomcat# rm -rf webapps root@0be1774e1e5e:/usr/local/tomcat# mv webapps.dist webapps

改完之后,我们再重新访问:

在这里插入图片描述
在这里插入图片描述

方法二:

使用挂载: 好处:可以直接把程序文件放至宿主机文件夹内,会自动同步至容器里。

docker run --name tomcat_8001 -p 8001:8080 -v /nanming/src/tomcat_8001/webapps/SMIS:/usr/local/tomcat/webapps/SMIS -d tomcat

-v /nanming/src/tomcat_8001/webapps/SMIS:/usr/local/tomcat/webapps/SMIS:前者指的是宿主机路径,后者是容器内路径,意思是把容器内SMIS文件夹挂载至宿主机的SMIS文件夹。

在这里插入图片描述
在这里插入图片描述

由于之前已经部署了一套,所以直接执行复制命令,复制一套代码至8002端口的SMIS文件夹内。

[root@nanming ~]# cp -r /nanming/src/tomcat_8002/webapps/SMIS/* /nanming/src/tomcat_8001/webapps/SMIS/

可以看一下宿主机放程序的目录。

在这里插入图片描述
在这里插入图片描述

目前看到的是一共部署了两套程序,分别是8001、8002端口。

重启容器:

[root@nanming ~]# docker restart fd678cffec0f

5 查看正在运行的容器:

[root@VM-0-6-centos ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9629a857814a new_image:tag “catalina.sh run” 3 weeks ago Up 2 weeks 0.0.0.0:80->80/tcp, 8080/tcp container02 b5d40ccd373f mysql “docker-entrypoint.s…” 5 weeks ago Up 3 weeks 0.0.0.0:3306->3306/tcp, 33060/tcp mysql-test

在这里插入图片描述
在这里插入图片描述
6 查看所有容器

[root@VM-0-6-centos ~]# docker ps -a

在这里插入图片描述
在这里插入图片描述
  • 红色部分是容器ID
7 启动容器

[root@VM-0-6-centos ~]# docker start 9629a857814a

  • 9629a857814a:容器ID
8 停止容器

[root@VM-0-6-centos ~]# docker stop 9629a857814a

  • 9629a857814a:容器ID
9 查询容器日志

[root@VM-0-6-centos ~]# sudo docker logs -f -t --tail 5000 9629a857814a

  • 9629a857814a:容器ID
9 “复制”容器

[root@VM-0-6-centos ~]# docker commit 91867f4dc71e new_image:tag

  • docker commit:把一个容器的文件改动和配置信息commit到一个新的镜像。这个在测试的时候会非常有用,把容器所有的文件改动和配置信息导入成一个新的docker镜像,然后用这个新的镜像重起一个容器,这对之前的容器不会有任何影响
  • 91867f4dc71e:被“复制”容器ID

[root@VM-0-6-centos ~]# docker run --name container02 -p 80:80 new_image:tag

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 查找Docker Hub上的Tomcat镜像:
  • 2 拉取官方的镜像:
  • 3 查看Docker所有的镜像:
  • 4 启动tomcat镜像
  • 5 查看正在运行的容器:
  • 6 查看所有容器
  • 7 启动容器
  • 8 停止容器
  • 9 查询容器日志
  • 9 “复制”容器
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com