- docker安装Tomcat
-
docker pull tomcat docker run -p 8080:8080 --name mytomcat tomcat:latest # 提取镜像,生成容器,并命名容器为:mytomcat
- docker ps
-
- docker安装jdk
- 拷贝本地jdk到docker
docker cp *****.gz mytomcat:/root
- 进入容器配置环境变量
docker exec -it mytomcat bash apt-get update apt-get install vim export JAVA_HOME=/usr/local/java/jdk1.8.0_211 export PATH=$JAVA_HOME/bin:$PATH 刷新配置:source ~/.bashrc,并用java -version测试是否安装成功。
- 拷贝本地jdk到docker
- 部署web应用
- 上传war包
docker cp atp.war mytomcat:/usr/local/tomcat/webapps或者安装rz docker restart mytomcat
- 建立镜像
docker commit -a 'cbj' -m 'first version' mytomcat mytomcat:v1 #docker commit -m “提交说明文字” -a “作者” 要提交的容器名 提交后的镜像名:提交后的镜像tag名
- 打包成功后,需要打标签,完成后,推入私有库,拉取仓库
docker tag mytomcat 112.126.64.183:5000/mytomcat tag语法:[容器ID|容器名称][仓库][标签] docker push 112.126.64.183:5000/mytomcat docker pull 112.126.64.183:5000/mytomcat docker run -p 8080:8080 --name mytomcat 112.126.64.183:5000/mytomcat:v1
- 仓库安装见上一篇
- 上传war包
- 遇到的问题
- Tomcat9.0以上无法访问8080
- 这是tomcat版本问题,webapps下是空的,所以访问不到首页,我默认最新版latest,是tomcat9,后面换成了8.0.52,就有用了。。。
- 发现旁边还有个webapps.dist的文件,进入才发现原本应该在webapps文件中的文件都在webapps.dist文件中,现在也不知道为什么。将webapps.dist重命名成webapps即可,原来的webapps(空文件)可以删除或者命名成其他的名字既:mv webapps.dist webapps
- web项目无法启动
- 报错信息:
Description: An attempt was made to call a method that does not exist. The attempt was made from the following location: org.hibernate.validator.internal.xml.config.ValidationBootstrapParameters.<init>(ValidationBootstrapParameters.java:63) The following method did not exist: javax.validation.BootstrapConfiguration.getClockProviderClassName()Ljava/lang/String; The method's class, javax.validation.BootstrapConfiguration, is available from the following locations: jar:file:/D:/Dev/repositories/javax/javaee-api/7.0/javaee-api-7.0.jar!/javax/validation/BootstrapConfiguration.class jar:file:/D:/Dev/repositories/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar!/javax/validation/BootstrapConfiguration.class It was loaded from the following location: file:/D:/Dev/repositories/javax/javaee-api/7.0/javaee-api-7.0.jar
原因是javaee版本问题,升级为8.0就可以了
<dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>8.0</version> </dependency>
- 报错信息:
- springboot项目修改
- 启动类要继承SpringBootServletInitializer接口
- 剔除依赖
public class Application extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(Application.class); } public static void main(String[] args) { new SpringApplicationBuilder(Application.class).web(true).run(args); } }
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-start-tomcat</artifactId> <scope>provided</scope> </dependency>
未完待续……
- Tomcat9.0以上无法访问8080
docker部署Tomcat,springboot项目
最新推荐文章于 2025-03-27 09:30:00 发布