之前写过一篇:Dockfile打包带tdengine驱动的tomcat自定义镜像_如何创建一个包含tdengine客户端的docker镜像-CSDN博客
上面这篇是基于centos容器镜像制作的,这篇改用tomcat容器制作。
Dockfile内容如下
# 使用官方的 Tomcat 8 镜像作为基础镜像,并指定 JDK 8 版本
FROM tomcat:8-jdk8-openjdk
# 设置环境变量
ENV TDENGINE_VERSION=2.0.20.13
# 创建一个目录用于存放 TDengine 驱动
RUN mkdir -p /usr/local/tdengine
# 下载 TDengine client
RUN wget https://www.taosdata.com/assets-download/TDengine-client-${TDENGINE_VERSION}-Linux-x64.tar.gz -O /usr/local/TDengine-client-${TDENGINE_VERSION}-Linux-x64.tar.gz
# 解压 TDengine client
RUN tar -zxvf /usr/local/TDengine-client-${TDENGINE_VERSION}-Linux-x64.tar.gz -C /usr/local/
# 安装 TDengine client
RUN cd /usr/local/TDengine-client-${TDENGINE_VERSION}/ && ./install_client.sh
# 暴露默认的 Tomcat 端口
EXPOSE 8080
# 启动 Tomcat
CMD ["catalina.sh", "run"]
最后执行如下命令完成打包
docker build -t tomcat8withtdengine:8-jdk8-openjdk .
docker-compose配置
gateway:
container_name: gateway
image: tomcat8withtdengine:8-jdk8-openjdk
ports:
- '8804:8080'
volumes:
- '${PWD}/gateway/conf:/usr/local/tomcat/conf'
- '${PWD}/gateway/webapps:/usr/local/tomcat/webapps'
- '${PWD}/gateway/logs:/usr/local/tomcat/logs'
- '${PWD}/gateway/data/logs:/data/logs'
environment:
- TZ=Asia/Shanghai
restart: always
容器初始配置文件生成
无映射文件启动后
tomcat 无映射启动后
mkdir -p /data/app/gateway
docker cp gateway:/usr/local/tomcat/conf /data/app/gateway/