tongweb容器版镜像制作
in 技术 with 0 comment 阅读:54次
tongweb容器版镜像制作
in 技术 with 0 comment 阅读:54次

1、软件包:TongWeb7.0.C.908.tar.gz

2、Linux和docker 环境

3、新建Dockerfile 文件如下

4、解压软件TongWeb7.0.C.908.tar.gz 并把软件命名/opt/TongWeb

# 注:需更改为合法的基础镜像
FROM openjdk:8u212-jdk-alpine
# 注:按需填写 JVM 启动参数,可选,默认值从 tongweb.xml 中读取
ENV JAVA_OPTS="-Xms512M -Xmx1024M"
# 注:需更改为实际的 TongWeb 文件路径
COPY ./TongWeb /opt/TongWeb
RUN chmod +x /opt/TongWeb/bin/*.sh
CMD ["/bin/sh", "-c", "/opt/TongWeb/bin/standalone.sh"]

5、修改配置开启9060和应用自动部署

console.xml设置trustedIP="*"> 允许所有访问控制台

<console sessionTimeout="15" trustedIP="*">

tongweb.xml设置

autoDeploy="false" autoDeployDir="autodeploy" jpaEnabled="false" startupDeploy="true"

 <server ExtremeMode="-1" autoDeploy="false" autoDeployDir="autodeploy" jpaEnabled="false" startupDeploy="true" validatorEnabled="false">

应用war包放进/opt/TongWeb/domains/domain1/autodeploy下

6、封装镜像docker build -t tongweb70c8 ./

7、启动容器测试8088和9060端口能否正常访问

docker run -d -it -p 8088:8088 -p 9060:9060  tongweb70c8

8、迁移镜像

docker sava tongweb70c8   -o tongweb70c8.tar 

9、sz下载镜像 rz上传镜像 load导入镜像

docker load <tongweb70c8.tar

10、启动镜像

docker run -d -it -p 8088:8088 -p 9060:9060  tongweb70c8

问题:127.0.0.1访问8088和9060端口正常,通过公网无法访问

lsmod | grep br_netfilter没输出解决方案

问题根源br_netfilter 内核模块未加载,导致 Docker 自定义网络的流量绕过 iptables,无法被转发到容器
为什么重启 Docker 能解决?Docker 启动时自动 modprobe br_netfilter,修复了网络路径
如何永久预防?执行 echo "br_netfilter" > /etc/modules-load.d/br_netfilter.conf
Responses
您是第 687687 位访客