Linux+Docker+SpringBoot+IDEA一键自动化部署的详细步骤

网友投稿 834 2023-05-20

Linux+docker+SpringBoot+IDEA一键自动化部署的详细步骤

Linux+Docker+SpringBoot+IDEA一键自动化部署的详细步骤

linux+docker+SpringBoot+IDEA一键自动化部署的步骤

记录从打包到服务器配置上线全流程

安装docker

详细步骤请戳这里

用yum源安装用yum源安装

查看是否已安装docker列表

yum list installed | grep docke

安装docker

yum -y install docker

-y表示不询问安装,直到安装成功,安装完后再次查看安装列表

开放2375端口,开启远程访问

vim /usr/lib/systemd/system/docker.service

这行:

ExecStart=/usr/bin/dockerd-current \

替换为:

ExecStart=/usr/bin/dockerd-current -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock \

重新加载docker配置

systemctl daemon-reload // 1,重新加载配置文件

systemctl restart docker // 2,重启docker

查看端口是否开启

netstat -nptl

直接curl看是否生效

curl http://127.0.0.1:2375/version

虽然开放此端口打包程序很方便,但是会导致一些安全问题,因此 可以限制访问IP来解决,在云服务器中设置安全组即可

IDEA链接docker

第一步,远程链接docker:

成功后可见:

打镜像包

大致流程如下,采用maven绑定的方式进行打包镜像,然后根据该镜像建立一个docker容器,启动容器,即可

首先我们先创建一个DockerFile,路径参考:

DockerFile文件内容如下:

FROM java:8

VOLUME /tmp

#docker-day1-1.0.jar为项目打包为jar包的名字,app.jar为别名

ADD docker-day1-1.0.jar app.jar

#运行的时候对外提供的端口默认是8090,即便你在这里声明了3000也不会改变默认的端口8090

EXPOSE 8090

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

然后在pom文件里面配置docker-mavenhttp://-plugin插件,在plugins节点下,添加一个plugin,内容如下:

&http://lt;groupId>com.spotify

docker-maven-plugin

1.0.0

build-image

package

build

jason/${project.artifactId}

latest

${project.basedir}/src/main/resources/docker

http://58.87.113.58:2375

/

${project.build.directory}

${project.build.finalName}.jar

配置完成,现在使用maven package,即可将我们的jar包打成docker镜像,可以使用idea右侧的快捷方式,

也可以使用命令:

mvn package

完成后,我们会在这里看见我们刚打好的镜像包

运行该镜像,需要使用到docker的容器来承载它,我们右键创建

设置镜像名称,设置IP映射即可,我这里项目的port是8090,容器对外开放设置为8091

设置完之后我们点击Run,访问我们提前写好的测试接口,测试结果

那么问题来了,我们开发的时候改完代码就需要发布一次,不可能每次都先点一下package然后再run是吧,这样多捞啊,我们把这两个步骤http://串起来,不就行了吗

继续编辑我们刚刚的配置,添加一个maven步骤即可

那么我们再次修改代码后,再点击Run,即可在线上看到最新的程序了,至此一个简单的一键部署就完成了

附:java源码-

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:IDEA对使用了第三方依赖jar包的非Maven项目打jar包的问题(图文详解)
下一篇:Jmeter跨线程组传值调用实现图解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~