docker部署项目到服务器

composed 2020年01月09日 138次浏览

前言

公司中以往项目用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远程连接后添加到设置里面

docker远程连接

2.编写Dockerfile

FROM 具体镜像版本号
ADD *.war tomcat/webapps/ROOT.war
ENV TZ=Asia/Shanghai
EXPOSE 8080
ENTRYPOINT ["/tomcat/bin/catalina.sh","run"]

3.idea部署配置

docker一键部署

docker一键部署2

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