IDEA SpringBoot 聚合项目打jar包,docker部署
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma.
文章目录
1、前置
- 上面博客已经写了项目的搭建方式,等一些介绍 传送门:https://blog.csdn.net/qq_38637558/article/details/105167120
- 我用的Windows, 这个其实没有什么区别哈
- 开发工具是 IntelliJ IDEA
- 会介绍两种上传到服务器的方式
2、IDEA配置
successful是链接成功
以我Windows为列的话, 需要开启这个:
项目结构:
Dockerfile文件内容:
# 基础镜像必要,代表你的项目将构建在这个基础上面
FROM java:8
# 对外端口
EXPOSE 8088
# 创建一个可以从本地主机或其他容器挂载的挂载点,一般用来存放数据库和需要保持的数据等
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为 testDemo.jar.我们在base(项目入口)的pom.xml中指定了打包后的jar名
COPY base/target/testDemo.jar testDemo.jar
# 运行jar包
RUN bash -c 'touch /testDemo.jar'
# 指定容器启动程序及参数
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/testDemo.jar"]
3、打包jar文件
先选择环境,这个前面有说过这个
package前可以先clenan一下
这个时候我们可以先运行一下这个jar文件, 看下我们打包的文件有没有什么问题在来操作下一步:
4、通过本地docker上传到服务器
1、打包镜像到本地
运行镜像,看下有没有问题;
OK,到目前这一步,我们镜像就打包完成了,剩余的就将镜像传到我们服务器上面,不能在本机跑啥.
两个方法:
- 通过私有docker库:,传送门: https://blog.csdn.net/qq_38637558/article/details/99603071
- 通过docker官方的来进行传送,docker hub,好像是这个,可以将项目设置成私有的,建议不要使用这种方式
- 就是我接下来要介绍的
2、上传镜像到服务器
先打包本地镜像
docker save -o testdemo.tar testdemo:1.0
上传到服务器
解压文件到镜像:
docker load < testdemo.tar
5、直接打包镜像到服务器
警告: 对下面红色的这句话如果不能理解, 就千万不要使用这种方式
警告: 对下面红色的这句话如果不能理解, 就千万不要使用这种方式
警告: 对下面红色的这句话如果不能理解, 就千万不要使用这种方式
开启了2375端口,一定要注意关闭,因为这个端口,我只要知道了你的服务器IP地址,就能连接上的docker服务,.然后拉取到你的镜像…防火墙,安全组,指定IP,证书都可以进行处理,这个地方一定要注意
1、 这个地方配置成服务器的地址
2、 配置服务器的docker
文件地址:
vim /usr/lib/systemd/system/docker.service
所加参数:
-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
systemctl daemon-reload // 1,加载docker守护线程
systemctl restart docker // 2,重启docker
开启了2375端口,一定要注意关闭,因为这个端口,我只要知道了你的服务器IP地址,就能连接上的docker服务,.然后拉取到你的镜像…防火墙,安全组,指定IP,证书都可以进行处理,这个地方一定要注意
需要注意的地方有: 这个地方的格式一定要确认, 不然写错了, 重启会失败的, 然后不要卸载重装, 要相信自己是可以解决的
会报这个错误:
Failed to restart docker.service: Unit is not loaded properly: Invalid argument. See system logs and 'systemctl status docker.service' for details.
3、运行dockerfile文件: Build Image
4、到服务器查看
docker images
6、杂谈
-
也是在网上找了写教程,然后才弄出来,难度的话,要是清楚了感觉很简单,但是要是没有弄过的话,可能就会有点点难吧,一点点
-
配置docker容器环境变量
ENV JAVA_OPTS=""
-
感觉好像没有什么可以特别注释的了,都满简单的
-
1、Maven Profiles 选择环境,勾选一个
2、Maven testdemo(root) --> clean --> package
3、修改docker配置文件 Run/Debug Configurations里面, 修改版本号 Image tag (每次更新要注意版本号修改一下,以便区分)
4、Dockerfile文件中的箭头,build image
5、查看镜像 docker images
6、本地测试跑一遍
7、docker save -o testdemo.tar testdemo:1.0
8、上传到服务器
9、docker load < testdemo.tar
10、docker run -p 8080:8080 --name testdemo–restart=always -d testdemo:1.0 (-v 日志挂载、图片等文件挂载出来)
11、查看启动日志,确认启动状态,配置环境,环境启动日志的前面几行中会有显示 -
springboot的单项目也是可以这样操作的
-
首推第五种方式, 操作本地docker在上传还麻烦些, 首先打包的镜像会很大, 上传也会很耗时
-
最后说一点, 如果配置服务器的docker, 报错了, 就是第五节的第二步, 不要想着卸载, 我当时出现这个错误, 在网上也是找了很多教程, 然后都是卸载大法, 法力无边. 其实自己思考一下, 就会知道问题出现在哪里
-
开启了2375端口,一定要注意关闭,因为这个端口,我只要知道了你的服务器IP地址,就能连接上的docker服务,.然后拉取到你的镜像…防火墙,安全组,指定IP,证书都可以进行处理,这个地方一定要注意
-
异常: standard_init_linux.go:178: exec user process caused “no such file or directory” 需注意这里为: LF
更多推荐
所有评论(0)