Docker下安装Tomcat

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Docker下安装Tomcat

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 --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

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
关系型数据库 MySQL Linux
Docker安装Mysql5.7,解决无法访问DockerHub问题
当 Docker Hub 无法访问时,可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的问题。本文介绍了如何在 CentOS 上一键配置国内镜像加速,并成功拉取 MySQL 5.7 镜像。
394 2
Docker安装Mysql5.7,解决无法访问DockerHub问题
|
29天前
|
Prometheus 监控 Cloud Native
基于Docker安装Grafana和Prometheus
Grafana 是一款用 Go 语言开发的开源数据可视化工具,支持数据监控和统计,并具备告警功能。通过 Docker 部署 Grafana 和 Prometheus,可实现系统数据的采集、展示和告警。默认登录用户名和密码均为 admin。配置 Prometheus 数据源后,可导入主机监控模板(ID 8919)进行数据展示。
70 2
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
58 2
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
37 3
|
2月前
|
监控 虚拟化 Docker
Window系统安装Docker
这篇文章提供了在Windows系统上安装与配置Docker的详细指南,包括Docker Desktop的安装及通过Docker来运行容器化应用的步骤。
134 1
Window系统安装Docker
|
2月前
|
存储 物联网 数据安全/隐私保护
Docker安装Mosquitto
这篇文章详细介绍了如何在Docker中安装和配置Mosquitto消息代理服务,包括拉取镜像、创建容器以及配置持久化存储等步骤。
98 0
Docker安装Mosquitto
|
2月前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
295 3
|
19天前
|
Docker 容器
【赵渝强老师】使用二进制包方式安装Docker
本文介绍了在企业生产环境中无法直接访问外网时,如何使用Docker官方提供的二进制包进行Docker的离线安装。文章详细列出了从安装wget、下载Docker安装包、解压、复制命令到启动Docker服务的具体步骤,并提供了相关命令和示例图片。最后,还介绍了如何设置Docker为开机自启模式。
|
19天前
|
缓存 Ubuntu Linux
如何安装Docker
如何安装Docker
100 0
|
2月前
|
数据可视化 数据挖掘 Docker
Docker Desktop 安装 ClickHouse 超级简单教程
Docker Desktop 安装 ClickHouse 超级简单教程
57 1