目录1.idea下载Docker插件2.云服务器docker2.1 docker的安装2.2 停止docker服务2.3 docker配置文件修改2.4 刷新配置文件2.5 启动do
此处不再赘述,和其他插件一样安装
说明:本人服务器使用的是Centos 7
https://www.jb51.net/article/213611.htm
为了防止restart docker服务出现错误,保险起见,最好先停止docker服务,再修改配置文件。
停止docker之前要先停止正在运行的容器,否则后面启动容器也有可能出错。
停止运行容器:
docker stop [container_id]
然后停止docker服务
systemctl stop 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
命令如下:
systemctl daemon-reload
测试配置文件是否生效,在服务器端输入如下命令,如果出现JSON字符串内容,则文件生效
curl http://127.0.0.1:2375/version
命令如下:
systemctl restart docker
命令如下:
firewall-cmd --zone=public --add-port=2375/tcp --permanent
重启防火墙:
firewall-cmd --reload
这里要注意在实例的页面进入安全组,然后配置规则,开放2375端口
在本地浏览器输入 http://127.0.0.1:2375/version
,同理, 如果出现jsON字符串,则能进行HTTP连接。
到此, 可以用IDEA进行集成dokcer了。
在pom文件中添加SpringBoot打包插件
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
除了打包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>
需要注意两个地方,一是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"]
先用maven进行clean和install,然后用maven插件docker进行build
打包后的文件目录:
启动容器
设置启动参数
springboot打成jar包无法访问jsp或者html,404错误
关于yml或者properties文件没有被扫描到
运行Jar包时指定启动端口
stackover
IDEA整合Docker,快捷部署SpringBoot应用
IDEA集成Docker的快捷部署
到此这篇关于IDEA集成docker部署springboot项目的文章就介绍到这了,更多相关IDEA集成docker部署springboot项目内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: IDEA集成docker部署springboot项目的全过程
本文链接: https://www.lsjlt.com/news/137029.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-18
2024-04-17
2024-04-11
2024-04-08
2024-04-08
2024-04-03
2024-03-15
2024-03-15
2024-03-11
2024-03-08
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0