[docker]Tomcat安装及配置访问权限

1.环境:Centos7
2.安装docker
yum install -y docker
#启动和设置开机自启
systemctl start docker
systemctl enable docker
3.获取Tomcat镜像,此版本为最新版本
docker pull tomcat
4.创建数据卷
docker volume create --name test
#test卷默认路径/var/lib/docker/volumes/test
5.创建tomcat容器
docker run -v test:/file --name tomcat -p 192.168.3.6:8080:8080 -d tomcat
#-v参数:将test卷挂载至容器的/file文件夹,如不存在/file系统则会自动新建
#-p参数:将宿主机的8080端口映射到容器的8080端口,以供访问
#--name参数:给容器设置名称
6.查看容器CONTAINER ID
docker ps -a
7.进入容器,准备修改配置文件
docker exec -it 533b95e686e8 /bin/bash
#533b95e686e8为tomcat容器CONTAINER ID
8.开始修改配置文件

因为容器不带vi文件编辑,需要将其cp至挂载的数据卷中
在宿主机进行修改再将其覆盖到容器中去
需要修改的文件分别为:

/usr/local/tomcat/conf/tomcat-users.xml
/usr/local/tomcat/webapps/manager/META-INF/context.xml
cd conf
cp tomcat-users.xml /file/
exit
cd /var/lib/docker/volumes/test/_data
vi tomcat-users.xml
#在文件最后添加,username和password可自定义
<role rolename="manager"/>  
<role rolename="manager-gui"/>  
<role rolename="admin"/>  
<role rolename="admin-gui"/>  
<role rolename="manager-script"/>  
<role rolename="manager-jmx"/>  
<role rolename="manager-status"/>  
<user username="admin" password="admin" roles="admin-gui,admin,manager-gui,manager,manager-script,manager-jmx,manager-status"/>
</tomcat-users>

docker exec -it 533b95e686e8 /bin/bash
cd conf
cp /file/tomcat-users.xml /usr/local/tomcat/conf/ 
#context.xml修改操作方式同上
#修改内容注释Valve即可
<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" / -->
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context> 
9.重启tomcat,测试
docker restart 533b95e686e8

在浏览器中输入192.168.3.6:8080进入到tomcat点击Manager APP,输入设置的账号密码成功进入到管理后台

1 thought on “[docker]Tomcat安装及配置访问权限

发表评论