以下是一个示例的Dockerfile文件,用于拉取tomcat:9.0.56-jdk8-temurin-focal镜像,配置JVM参数和logback,挂载一个data卷到外部,放入web程序并启动容器:
```dockerfile
# 使用基础镜像
FROM tomcat:9.0.56-jdk8-temurin-focal
# 设置工作目录
WORKDIR /usr/local/tomcat
# 复制logback配置文件到容器中
COPY logback.xml /usr/local/tomcat/conf/
# 配置JVM参数
ENV JAVA_OPTS="-server -Xms2048m -Xmx2048m -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=768m -XX:MaxNewSize=256m"
# 创建一个data卷并挂载到容器中
VOLUME ["/usr/local/tomcat/webapps/data"]
# 复制web程序到容器中
COPY webapp.war /usr/local/tomcat/webapps/
# 启动容器时自动运行Tomcat
CMD ["catalina.sh", "run"]
```
确保logback.xml、webapp.war和Dockerfile文件在同一目录下,然后使用以下命令构建和运行Docker容器:
```bash
# 构建镜像
docker build -t my-tomcat .
# 运行容器 -v挂载data卷到容器外部
docker run -d -p 8080:8080 -v /path/to/host/data:/usr/local/tomcat/webapps/data my-tomcat
```
其中,`/path/to/host/data`是宿主机上用于挂载的目录路径,可以根据实际需求进行修改。运行成功后,可以通过访问`http://localhost:8080`来访问部署的web程序。
Dockerfile线上环境配置
最新推荐文章于 2024-07-30 20:50:32 发布