您的位置:首页 > 运维架构 > Docker

idea一键部署springboot项目到docker镜像

2020-06-08 04:26 393 查看

idea一键部署springboot项目到docker镜像

在传统的项目中,部署springboot项目需要打包上传到服务器,配置环境再编译部署,当遇到springcloud这样的微服务部署,更是麻烦。

这里总结了一下使用idea的docker-maven插件,在Maven工程中,通过简单的配置,自动生成镜像并推送到仓库中。其步骤分别如下。

1、Docker开启远程访问。
2、IDEA配置docker。
3、docker-maven-plugin导入pom。
4、运行命令,生成镜像

#Docker开启远程访问

要远程访问docker,首先要在服务器上开启docker的远程访问功能,默认是关闭的。

#修改该Docker服务文件
vi /lib/systemd/system/docker.service
#修改ExecStart这行
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
#重新加载配置文件
systemctl daemon-reload
#重启服务
systemctl restart docker.service
#查看端口是否开启
netstat -nlpt #如果找不到netstat命令,可进行安装。yum install net-tools
#直接curl看是否生效
curl http://127.0.0.1:2375/info

2375是你用idea连接的端口,可随意配置,只要不占用就行。

#IDEA安装Docker插件

在idea中配置好docker的连接地址和端口

若此处没有docker,从File->Settings->Plugins->Install JetBrains plugin进入插件安装界面,
在搜索框中输入docker,并安装。安装后重启Idea

#docker-maven-plugin导入pom

<properties>
<docker.image.prefix>projectname</docker.image.prefix>
</properties>

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

<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>

<configuration>
<!-- 镜像名称 guoweixin/exam-->
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<!--指定标签-->
<imageTags>
<imageTag>latest</imageTag>
</imageTags>
<!-- 基础镜像jdk 1.8-->
<baseImage>java</baseImage>
<!-- 制作者提供本人信息 -->
<maintainer>mayingbo 123456@aliyun.com</maintainer>
<!--切换到/ROOT目录 -->
<workdir>/ROOT</workdir>
<cmd>["java", "-version"]</cmd>
<entryPoint>["java", "-jar", "${project.build.finalName}.jar"]
</entryPoint>

<!--指定远程 docker api地址-->
<dockerHost>http://ip地址:2375</dockerHost>
<!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
<resources>
<resource>
<targetPath>/ROOT</targetPath>
<!--用于指定需要复制的根目录,${project.build.directory}表示target目录-->
<directory>${project.build.directory}</directory>
<!--用于指定需要复制的文件。${project.build.finalName}.jar指的是打包后的jar包文件。-->
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>

注:记得在中配置镜像名称,名称一定是全小写英文

#运行命令,一键生成镜像

idea控制台执行命

mvn clean package docker:build


成功!!

如有任何问题请留言,转载请标明出处。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: