小知识:IDEA集成docker部署springboot项目的全过程

目录 1.IDEA下载docker插件 2.云服务器docker 2.1 docker的安装 2.2 停止docker服务 2.3 docker配置文件修改 2.4 刷新配置文件 2.5 启动docker服务 2.6 防火墙增加2375端口 2.7 阿里云增加安全组规则 2.8 测试远程HTTP连接 3. maven项目打包 3.1 打包插件 3.2 资源文件的打包及打包后的位置 3.3 docker插件 3.4 clean、install和docker build 4.遇到的坑 5.参考

1.IDEA下载docker插件

此处不再赘述,和其他插件一样安装

2.云服务器docker

说明:本人服务器使用的是centOS 7

2.1 docker的安装

http://www.tuohang.net/article/181614.html

2.2 停止docker服务

为了防止restart docker服务出现错误,保险起见,最好先停止docker服务,再修改配置文件。

停止docker之前要先停止正在运行的容器,否则后面启动容器也有可能出错。

停止运行容器:

docker stop [container_id]

然后停止docker服务

systemctl stop docker

2.3 docker配置文件修改

为了使用HTTP方式让IDEA连上服务器上的docker,需修改docker的配置文件,修改内容如下:

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

修改Execstart 这行内容,将其替换为以下内容,目的是开放2375端口,能进行HTTP远程连接:

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

2.4 刷新配置文件

命令如下:

systemctl daemon-reload

测试配置文件是否生效,在服务器端输入如下命令,如果出现JSON字符串内容,则文件生效

curl http://127.0.0.1:2375/version

2.5 启动docker服务

命令如下:

systemctl restart docker

2.6 防火墙增加2375端口

命令如下:

firewall-cmd –zone=public –add-port=2375/tcp –permanent

重启防火墙:

firewall-cmd –reload

2.7 阿里云增加安全组规则

这里要注意在实例的页面进入安全组,然后配置规则,开放2375端口

2.8 测试远程HTTP连接

在本地浏览器输入 http://127.0.0.1:2375/version ,同理, 如果出现JSON字符串,则能进行HTTP连接。

到此, 可以用IDEA进行集成dokcer了。

3. maven项目打包

3.1 打包插件

在pom文件中添加springboot打包插件

<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin>

3.2 资源文件的打包及打包后的位置

除了打包java源文件,还需要将资源文件打包,如xml/yml/properties/html等文件。但要注意html文件打包的位置,要放在META-INF/resources目录,否则启动jar包后,访问不到html页面。

<resources> <resource> <directory>src/main/java</directory> <!–这里我将mapper文件放在了java目录下 所以需要声明编译位置–> <includes> <include>**/*.xml</include> </includes> <filtering>true</filtering> </resource> <resource> <!–声明yml配置文件编译位置–> <directory>src/main/resources</directory> </resource> <resource> <!–声明html文件编译位置 并将编译后的文件放入指定位置–> <directory>src/main/webapp</directory> <targetPath>META-INF/resources</targetPath> </resource> </resources>

3.3 docker插件

需要注意两个地方,一是docker镜像名字前面需要有一个前缀,其组成是[前缀]:[镜像名]:[版本号],二是指定镜像名时不得包含大写字母。

项目信息中name和version都要用到

<groupId>org.team</groupId> <artifactId>coolmeeting</artifactId> <version>1.0-SNAPSHOT</version> <name>coolmeeting</name> <description>docker start meetingMS</description> <properties> <java.version>1.8</java.version> <docker.image.prefix>team</docker.image.prefix> </properties> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!– tag::plugin[] –> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <dockerHost>http://127.0.0.1:2375</dockerHost> <!–镜像名字 不能含有大写字母–> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <!–dockerfile所在位置–> <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <!–target所在位置–> <directory>${project.build.directory}</directory> <!–将jar包和Dockerfile放在统一目录–> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> <!– end::plugin[] –> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skipTests>true</skipTests> </configuration> </plugin> </plugins>

Dockerfile文件如下,注意创建该文件时D要大写 , /meetingMS.jar是别名,方便书写

FROM java:8 VOLUME /tmp ADD coolmeeting-1.0-SNAPSHOT.jar /meetingMS.jar ENTRYPOINT [“java”,”-Djava.security.egd=file:/dev/./urandom”,”-jar”,”/meetingMS.jar”]

3.4 clean、install和docker build

先用maven进行clean和install,然后用maven插件docker进行build

%小知识:IDEA集成docker部署springboot项目的全过程-猿站网-插图

打包后的文件目录:

%小知识:IDEA集成docker部署springboot项目的全过程-1猿站网-插图

启动容器

%小知识:IDEA集成docker部署springboot项目的全过程-2猿站网-插图

设置启动参数

%小知识:IDEA集成docker部署springboot项目的全过程-3猿站网-插图

4.遇到的坑

镜像名称问题(不能含大写字母) springboot配置文件application.yml无法打包 打包后html页面访问不到

5.参考

springboot打成jar包无法访问jsp或者html,404错误

关于yml或者properties文件没有被扫描到

运行Jar包时指定启动端口

stackover

IDEA整合Docker,快捷部署SpringBoot应用

IDEA集成Docker的快捷部署

到此这篇关于IDEA集成docker部署springboot项目的文章就介绍到这了,更多相关IDEA集成docker部署springboot项目内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/flipped___/article/details/107113143

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:IDEA集成docker实现远程部署的步骤

2023-3-15 12:09:39

建站知识

小知识:手工模拟实现 Docker 容器网络!

2023-3-15 12:24:38

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索