Docker中部署tomcat容器(三)

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: Docker中不存在tomcat镜像时可以先安装tomcat:查找Docker Hub上的tomcat镜像:docker search tomcat

部署tomcat容器首先需要安装jdk,可以参照下面的博客内容安装JDK1.8:

https://blog.csdn.net/yang_guang3/article/details/100693810

1、创建tomcat容器

Docker中不存在tomcat镜像时可以先安装tomcat:

查找Docker Hub上的tomcat镜像:docker search tomcat

先拉取该镜像:docker pull tomcat

拉取成功后查看镜像:docker images

然后创建mysql容器:docker run -di --name=cht_tomcat -p 8080:8080 tomcat

然后在本机通过宿主机IP:端口号访问:

此时tomcat容器安装成功后还不能在本机测试使用,需要开启远程管理。

2、开启远程管理(使用用户名和密码管理)

进入Tomcat容器:docker exec -it cht_tomcat /bin/bash

进入到tomcat/conf/目录并修改tomcat-users.xml文件:cd conf

vim tomcat-users.xml

此时运行这两个命令都显示命令找不到,原因是在docker容器中没有安装vim指令,需要重新安装。

首次安装需要先更新:apt-get update

然后执行安装:apt-get install vim

注意:安装过程中一路y就行了。

此时重新执行vim指令:

vim相关操作:

i--插入
        Esc按键--退出编辑 
       :wq---保存退出

文件中添加:

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="1234" roles="manager-gui,manager-script"/>

使用Xshell工具时文件的粘贴可以使用组合键Shift+Insert。

进入到tomcat/conf/Catalina/localhost目录下,修改manager.xml配置文件:

cd Catalina/localhost/
vim manager.xml

添加内容:

<Context privileged="true" antiResourceLocking="false"   
         docBase="${catalina.home}/webapps/manager">  
             <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />  
</Context>

另开一个窗口,提交更新:docker commit f6ba6ec57252 tomcat

该指令需要注意的两个参数:

查看images 可以看到更新时间:docker images

3、重启容器就可以在网页上打开tomcat管理

打开方式(以下的端口都是容器映射到宿主机的端口,除了命令方式外,通过kitematic可编辑修改更直观):

(1) http://localhost:端口

(2)http://宿主机ip:端口

(3)http://主机ip:端口

点击Manager App后输入上面配置的用户名/密码:tomcat/1234即可登录。


4、查看Tomcat的版本号

进入tomcat的/usr/local/tomcat/bin目录,然后在该目录下执行:./version.sh

如图可以查看到tomcat的版本号、操作系统的版本号和JDK的版本号。

目录
相关文章
|
5天前
|
消息中间件 监控 RocketMQ
Docker部署RocketMQ5.2.0集群
本文详细介绍了如何使用Docker和Docker Compose部署RocketMQ 5.2.0集群。通过创建配置文件、启动集群和验证容器状态,您可以快速搭建起一个RocketMQ集群环境。希望本文能够帮助您更好地理解和应用RocketMQ,提高消息中间件的部署和管理效率。
152 91
|
6天前
|
Ubuntu API 网络虚拟化
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
131 15
|
6天前
|
网络协议 API Docker
Docker+consul容器服务的更新与发现
通过本文的介绍,我们详细探讨了如何结合Docker和Consul来实现容器服务的更新与发现。通过Consul的服务注册和发现功能,可以高效地管理和监控容器化服务,确保系统的高可用性和可扩展性。希望本文能帮助您在实际项目中更好地应用Docker和Consul,提高系统的可靠性和管理效率。
41 23
|
6天前
|
存储 NoSQL Redis
Docker 部署 Redis
在使用 Docker 部署 Redis 时,为实现数据持久化,需正确挂载容器内的数据目录到宿主机。推荐命令如下: ``` docker run -d --name redis -v /mnt/data/redis:/data -p 6379:6379 redis ``` 该命令将宿主机的 `/mnt/data/redis` 目录挂载到容器的 `/data` 目录,确保 Redis 数据持久化。此路径更通用,适合大多数场景。避免使用不匹配的挂载路径,如 `/var/lib/redis` 或 `/mnt/data/redis` 到非默认目录,以防止数据无法正确持久化。
|
13天前
|
JavaScript 前端开发 Docker
如何通过pm2以cluster模式多进程部署next.js(包括docker下的部署)
通过这些步骤,可以确保您的Next.js应用在多核服务器上高效运行,并且在Docker环境中实现高效的容器化管理。
72 44
|
21天前
|
存储 关系型数据库 MySQL
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
|
25天前
|
SQL Java Maven
docker部署apollo
docker部署apollo步骤
|
1月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
58 23
|
1月前
|
监控 Java 应用服务中间件
tomcat相关概念与部署tomcat多实例-zabbix监控(docker部署)
通过上述步骤,您可以在Ubuntu系统上成功编译并安装OpenCV 4.8。这种方法不仅使您能够定制OpenCV的功能,还可以优化性能以满足特定需求。确保按照每一步进行操作,以避免常见的编译问题。
49 22
|
1月前
|
数据库 Docker 容器
docker容器为啥会开机自启动
通过配置适当的重启策略,Docker容器可以在主机系统重启后自动启动。这对于保持关键服务的高可用性和自动恢复能力非常有用。选择适合的重启策略(如 `always`或 `unless-stopped`),可以确保应用程序在各种情况下保持运行。理解并配置这些策略是确保Docker容器化应用可靠性的关键。
225 93

热门文章

最新文章