Docker -- Tomcat9添加账号

作者: 博客已迁移I米阳 | 来源:发表于2017-12-25 11:08 被阅读41次

    背景

    在使用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/
    

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

    欢迎关注个人公众号:


    个人公众号

    相关文章

      网友评论

        本文标题:Docker -- Tomcat9添加账号

        本文链接:https://www.haomeiwen.com/subject/bnhxgxtx.html