Linux+Docker+SpringBoot+IDEA一键自动化部署 Linux+Docker+SpringBoot+IDEA一键自动化部署的详细步骤
梦想blog 人气:0Linux+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看是否生效
虽然开放此端口打包程序很方便,但是会导致一些安全问题,因此 可以限制访问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-maven-plugin插件,在plugins节点下,添加一个plugin,内容如下:
<!--使用docker-maven-plugin插件--> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <!--将插件绑定在某个phase执行--> <executions> <execution> <id>build-image</id> <!--将插件绑定在package这个phase上。也就是说,用户只需执行mvn package ,就会自动执行mvn docker:build--> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> </executions> <configuration> <!--指定生成的镜像名--> <imageName>jason/${project.artifactId}</imageName> <!--指定标签--> <imageTags> <imageTag>latest</imageTag> </imageTags> <!--指定 Dockerfile 路径--> <dockerDirectory>${project.basedir}/src/main/resources/docker</dockerDirectory> <!--指定远程 docker api地址--> <dockerHost>http://58.87.113.58:2375</dockerHost> <!--这里是复制 jar 包到 docker 容器指定目录配置 --> <resources> <resource> <targetPath>/</targetPath> <!--jar 包所在的路径 此处配置的 即对应 target 目录--> <directory>${project.build.directory}</directory> <!--需要包含的 jar包 ,这里对应的是 Dockerfile中添加的文件名 --> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin>
配置完成,现在使用maven package,即可将我们的jar包打成docker镜像,可以使用idea右侧的快捷方式,
也可以使用命令:
mvn package
完成后,我们会在这里看见我们刚打好的镜像包
运行该镜像,需要使用到docker的容器来承载它,我们右键创建
设置镜像名称,设置IP映射即可,我这里项目的port是8090,容器对外开放设置为8091
设置完之后我们点击Run,访问我们提前写好的测试接口,测试结果
那么问题来了,我们开发的时候改完代码就需要发布一次,不可能每次都先点一下package然后再run是吧,这样多捞啊,我们把这两个步骤串起来,不就行了吗
继续编辑我们刚刚的配置,添加一个maven步骤即可
那么我们再次修改代码后,再点击Run,即可在线上看到最新的程序了,至此一个简单的一键部署就完成了
附:java源码下载
加载全部内容