m1 docker安装tomcat

背景

看到有同事尝试使用docker搭建tomcat服务,然后用nginx实现服务的负载均衡,但是遇到了挂载的问题,于是我在我自己的mac上尝试了一下。

实践过程

在本地新建tomcat的目录,下方挂载对应的数据文件和脚本文件。

其中,start.sh脚本的内容如下:

docker run -d \
    -v $PWD/myapp:/usr/local/tomcat/webapps/myapp \
    -p 8080:8080 \
    --name my-tomcat \
    docker.io/tomcat  

挂载的应用名称是myapp下的内容,并指定端口8080,应用的名称。

进入myapp目录并执行以下命令:

 echo "hello world" >index.html

浏览器访问地址:myapp

则会展示我的文本内容:

但是tomcat官方提供了很多的app,为什么不能使用呢?我有一个大胆的想法,把官方的服务也部署上去。

docker ps
docker exec -it e78 bash

进入容器,开整

这样,我把tomcat的app都部署了,浏览器访问

出现了403的错误
解决方案

首先在conf/tomcat-users.xml文件里面,在**前面**添加如下代码:遇到了坑,一定要配置在<tomcat–users>标签里

<role rolename="manager-gui"/>
<user password="admin" roles="manager-gui" username="tomcat"/>

出现了vim命令找不到的错误

apt-get update
apt-get install -y vim

重启容器,发现还是访问不了:访问的ip地受到了限制,我们打开**/webapps/manager/META-INF/目录下context.xml文件**

修改对应的为如下元素:

<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|\d+\.\d+\.\d+\.\d+" />

查看

重启完成,访问管理页面 用户名、密码为刚才配置的

参考文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值