docker学习3:部署Javaweb应用程序

1. 在JavaWeb项目的根目录下,创建一个名为"Dockerfile"的文件。Dockerfile是用于构建Docker镜像的脚本文件。

# 设置基础镜像
FROM tomcat:10.0.10-jdk11-openjdk-slim
# 设置环境变量
ENV CATALINA_HOME /usr/local/apache-tomcat-10.0.10
ENV PATH ${CATALINA_HOME}/bin:$PATH
# 复制Tomcat安装文件和目录到正确位置
COPY apache-tomcat-10.0.10 /usr/local/apache-tomcat-10.0.10
# 将构建生成的war包复制到Tomcat的webapps目录下
COPY target/demo.war ${CATALINA_HOME}/webapps/

注意:

 - 在https://editor.csdn.net/md/?articleId=131007170中,使用的是tomcat10.1.9的版本,但是会报错manifest for tomcat:10.1.9-jdk11-openjdk-slim not found,表明在Docker Hub上找不到Tomcat 10.1.9版本与OpenJDK 11配合使用的镜像。可能的原因是该镜像标签不存在或被移除。所以此处重新下载了tomcat10.0.10,并设置了对应的jdk11基础镜像;

- 在Dockerfile中,需要确保正确复制了Tomcat的安装文件和目录,通常是通常是/usr/local/tomcat;下载的tomcat10.0.10可放在JavaWeb项目的根目录下,原因是Docker在构建镜像时,会将当前目录以及Dockerfile所在的目录作为构建上下文。需要确保要复制的文件或目录位于构建上下文中,以便Docker可以正确访问它们。如果文件或目录位于Dockerfile所在的目录之外,你需要将它们移动到构建上下文中,或者使用相对路径指定正确的位置。文件或目录权限问题:检查要复制的文件或目录的权限。确保Docker在构建镜像时可以访问这些文件或目录,并且具有适当的读取权限。

- 配置环境变量也是必须的

2. 构建Docker镜像

docker build -t my-java-webapp .

3. Docker容器中运行你的JavaWeb应用程序

docker run -p 8080:8080 my-java-webapp

4. 进入localhost:8080/demo访问即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值