关于在群辉使用docker搭建tomcat,以及将tomcat配置目录挂载到本地,以及解决添加管理员后还是403页面。

解决方案:

  1. 拉取官方tomcat最新镜像:
docker pull tomcat
或
docker pull tomcat:latest
  1. 等下完后,可以使用命令查看docker列表是否有tomcat镜像:
docker ps

群晖 docker安装 ltsc 群晖 docker安装 tomcat_JAVA

  1. 在群辉docker文件夹下创建tomcat目录,tomcat底下在创建三个目录 conf、logs、webapps,用于后续挂载使用,权限那些添加Everyone,你们都懂的
  2. 使用tomcat镜像

运行容器:

docker run -d -p 8080:8080 --name tomcat tomcat

然后在docker就可以看到tomcat容器创建成功了

群晖 docker安装 ltsc 群晖 docker安装 tomcat_容器_02

  1. 解决测试访问tomcat页面报错404
#查看容器ID
docker ps 

#进入容器
docker exec   -i -t  fb09ae036432 /bin/bash
#fb09ae036432为容器ID  根据你查到的容器ID修改

#将webapps.dist中的文件复制粘贴到webapps下;
#也可以删除webapps文件夹,重命名webapps.dist为webapps;
cp -r /usr/local/tomcat/webapps.dist/* /usr/local/tomcat/webapps


#退出容器
exit

然后刷新页面即可

6.使用工具连接群辉ssh,我这里用的Xshell,将tomcat容器里面的conf和logs文件夹CP到我们在本地创建的tomcat文件夹里

需要先进入本地创建的tomcat目录,然后输入命令

docker cp fb09ae036432:/usr/local/tomcat/conf /volume1/docker/tomcat/
docker cp fb09ae036432:/usr/local/tomcat/logs /volume1/docker/tomcat/

群晖 docker安装 ltsc 群晖 docker安装 tomcat_JAVA_03


fb09ae036432 是你的tomcat容器ID,请根据你容器ID的进行修改CP完后,在本地目录可以看到已经将文件CP过来了

群晖 docker安装 ltsc 群晖 docker安装 tomcat_tomcat_04

  1. 开始挂载tomcat容器conf和logs目录到本地目录

先停止tomcat容器

群晖 docker安装 ltsc 群晖 docker安装 tomcat_容器_05


点击编辑

群晖 docker安装 ltsc 群晖 docker安装 tomcat_群晖 docker安装 ltsc_06


存储空间进行设置

群晖 docker安装 ltsc 群晖 docker安装 tomcat_tomcat_07


点击应用,启动tomcat容器,那么就已经完成挂载目录到本地了

  1. 解决访问tomcat新增管理员,以及新增后还是403

找到这个文件,添加管理员账号

群晖 docker安装 ltsc 群晖 docker安装 tomcat_JAVA_08


群晖 docker安装 ltsc 群晖 docker安装 tomcat_tomcat_09

<role rolename="manager-gui"/>
  <role rolename="admin-gui"/>
  <user username="用户名" password="密码" roles="manager-gui,admin-gui"/>

然后还需要修改webapps文件夹下manager和host-mananger两个项目下META-INF中的context.xml文件

群晖 docker安装 ltsc 群晖 docker安装 tomcat_JAVA_10


注释即可。

这样就可以重启tomcat容器,进行测试登录以及访问,部署了。

  1. 解决宿主机和tomcat容器时间不一致问题,以及日志文件时间不一致问题

使用date 查看宿主机时间,以及tomcat容器时间出现相差

群晖 docker安装 ltsc 群晖 docker安装 tomcat_JAVA_11

当正在运行的容器,进行时间同步,在在宿主机执行命令如下:

docker cp -L /usr/share/zoneinfo/Asia/Shanghai 【容器名】:/etc/localtime

群晖 docker安装 ltsc 群晖 docker安装 tomcat_docker_12

这时候日志文件时间还不是一致的,需要修改文件tomcat容器里面的,/usr/locat/tomcat/bin目录下的catalina.sh脚本

同样也是将bin目录挂载到本地在进行修改

群晖 docker安装 ltsc 群晖 docker安装 tomcat_JAVA_13


修改JAVA_OPTS(非注释的首行脚本代码)

JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8  -Duser.timezone=GMT+08"

群晖 docker安装 ltsc 群晖 docker安装 tomcat_JAVA_14

群辉docker 安装tomcat 折腾完成。