为了账号安全,请及时绑定邮箱和手机立即绑定

Docker -- Tomcat9添加账号

标签:
Docker

背景

在使用tomcat时,往往我们需要打开管理页面,部署我们的应用或者重启我们的服务,但是如果你是Docker版本的tomcat,又是默认从docker store 中下载到的官方版,那么默认配置是没有添加账号的,这时我们可能需要居于现有的docker版本的tomcat去新建个新的docker tomcat。


下载

我们是针对现有的docker 版本的tomcat上做修改,所以我们先从docker store(https://store.docker.com/images/tomcat) 下载tomcat,以下我都以CentOS和tomcat 9为例:

下载:

$ docker pull tomcat:9.0.2-jre8

添加账号

想要添加登录账号,我们有两种方式:

方法一

方法1的简单思路就是进入到tomcat容器,然后找到需要修改的文件,修改成你期望的配置。

  1. 运行容器:

 $ sudo docker run -d -p 8080:8080 --name tomcat9  tomcat:9.0.2-jre8

2)进入容器:

$ sudo docker exec -it tomcat9 /bin/bash

这时我们就进入到容器中的tomcat,下一步就是找到对应的配置文件进行修改,但是容器内的系统本身没有vim等编辑器,所以我们还需要安装个编辑器vim。

  1. 安装vim:

$ sudo apt-get update
$ sudo apt-get install vim
  1. 修改tomcat对应文件:
    修改tomcat安装路径下:<tomcathome>\conf\tomcat-users.xml,我们可以在tomcat-users 标签中添加如下账号密码:

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

理论上添加完这个后便可,但是如果你不是在当前机器打开tomcat管理页面,那么我们还需要修改另一个配置,让其在其他机器也能打开tomcat管理页面:<tomcathome>\webapps\manager\META-INF\context.xml 。
我们注释掉中间这个配置,这样就允许非本机登录tomcat管理页面。

<Context antiResourceLocking="false" privileged="true" >
 <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />--></Context>

方法二

方法二其实跟方法一最终目的是一样的都是要去修改tomcat对应配置,只是如果我们不想再安装vim或者我们本地已经有配置好的tomcat配置文件,那么我们就通过运行容器时,往容器里面拷贝一些文件,同样这个方法也可以用于发布应用。
1)本机编辑好对应的tomcat-users.xml和context.xml 文件
2)启动tomcat容器,并把本机tomcat9file文件夹下的所有文件拷贝到tomcat9容器的user/Downloads 中:

$ sudo docker run -d -p 8080:8080 --name tomcat9 -v /home/XXX/tomcat9file:/usr/Downloads tomcat:9.0.2-jre8

/home/XXX/tomcat9file为本机的路径,把要覆盖的文件放到该文件夹下
/usr/Downloads 为上面文件要放到容器里面的该路径下

3)进入容器:

$ sudo docker exec -it tomcat9 /bin/bash

4)拷贝文件覆盖原文件:

$ sudo cp /usr/Downloads/context.xml /usr/local/tomcat/webapps/manager/META-INF/

$ sudo cp /usr/Downloads/tomcat-users.xml /usr/local/tomcat/conf/

重启容器,如果修改生效。 那么可以把该容器重新生成新的镜像,并提交到私人仓库。



作者:米阳MeYoung
链接:https://www.jianshu.com/p/b58a00f97fc6


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消