Java模块
声明: 不需要tomcat镜像,使用java -jar 来执行jar包
整个项目结构如下,非常简单,圈中的是需要注意的
服务器模块
dockerfile和jar包请放在一个文件夹下
dockerfile内容
FROM java:8
VOLUME /tmp
ADD demo.jar demo.jar
RUN echo “Asia/Shanghai” > /etc/timezone
EXPOSE 8080
ENTRYPOINT [“java”,“-Djava.security.egd=file:/dev/./urandom”,“-jar”,“/demo.jar”]
Docker模块
1、将dockerfile和jar包打成镜像,注意后面有个点
[root@iZuf65yim57191b20j8tu2Z code]# docker build -t hellodocker .
2、以容器方式运行起来
[root@iZuf65yim57191b20j8tu2Z code]# docker run -d -p 8080:8080 --name hellodocker --restart=always hellodocker
end
请验证下是否正常
总结
这种方式比较笨重,需要手动打成jar然后丢到服务器上,然后每次都需要重新打成镜像,然后再重启容器。
比如
1、删除容器
2、删除镜像
3、把jar丢进去
4、docker build -t hellodocker .
5、docker run -d -p 8088:8088 --name hellodocker --restart=always hellodocker
6、end
后续我会使用jenkins来部署
最后,感谢沧老师
脚本直接一键部署,沧老师提供
#!/bin/bash
#定义目录
filepath=/usr/code
cd $filepath
#使用rz上传文件
rz -y
#删除原来的容器(先停止再删除)
docker stop hellodocker
docker rm -f hellodocker
#删除镜像
IMAGEID=docker images |grep hellodocker |awk ‘{print $3}’
docker rmi -f $INAGEID
#重新build镜像
docker build -t hellodocker:1.0.0 .
#运行容器
docker run --name hellodocker -d -p 8088:8088 --restart=always hellodocker:1.0.0
sleep 3s
docker ps
echo 恭喜你,部署成功.可使用docker logs -f hellodocker查看实时运行日志
关于sh脚本
1、 ./执行脚本需要对脚本符权,执行权
2、 sh ***.sh就不需要赋权
3、 直接敲命令 rz 如果提示没有这个命令,就yum install lrzsz
4、 脚本链接
https://download.csdn.net/download/weixin_43555115/37368742
脚本在我服务器中位置:
效果如下: