前言
公司中以往项目用war包部署,每次重新部署都很麻烦,步骤如下:
1.把进程杀掉然后删除之前的war包;
2.将war包重新传到webapps下,然后启动。
基于war包部署
构建tomcat镜像并上传到阿里云
1.写Dockerfile
基于openjdk镜像构建,将tomcat-template解压缩与Dockerfile放在同一目录
FROM openjdk:8-jdk-slim
ADD tomcat-template tomcat
2.构建镜像
注意:"."不能忘记
docker build -t [REPOSITORY]:[tag] .
3.将镜像推送到Registry,
注意: 请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数(REPOSITORY)。
sudo docker login --username=*** registry.cn-shenzhen.aliyuncs.com
sudo docker tag [ImageId] registry.cn-shenzhen.aliyuncs.com/pcrq/dev:[镜像版本号]
sudo docker push registry.cn-shenzhen.aliyuncs.com/pcrq/dev:[镜像版本号]
idea配置环境
1.配置好docker远程连接后添加到设置里面
2.编写Dockerfile
FROM 具体镜像版本号
ADD *.war tomcat/webapps/ROOT.war
ENV TZ=Asia/Shanghai
EXPOSE 8080
ENTRYPOINT ["/tomcat/bin/catalina.sh","run"]
3.idea部署配置
4.直接run idea就直接将项目部署好了。
基于jar包部署
基于jar包部署不需要自己构建tomcat镜像,只需要按照上面三部即可,不同的是需要修改Dockerfile文件
FROM openjdk:8-jdk-slim
ADD *.jar cq-mqtt.jar
ENV JAVA_OPTS="-Xms1024m -Xmx2048m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:MaxPermSize=128m -XX:+DisableExplicitGC -Ddruid.registerToSysProperty=true"
ENV JVM_SERVER_FIXED="-Djava.security.egd=file:/dev/./urandom"
ENV TZ=Asia/Shanghai
EXPOSE 10030
ENTRYPOINT exec java $JAVA_OPTS $JVM_SERVER_FIXED -jar /cq-mqtt.jar