使用idea打包项目为镜像并发布到docker上运行(Spring Boot项目为例)
使用idea打包项目为镜像并发布到docker上运行一、配置Linux系统上的docker1.1 修改文件修改文件:vi /lib/systemd/system/docker.service,将第五行改为:ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock注意这里的端口是2375,一...
使用idea打包项目为镜像并发布到docker上运行
一、配置Linux系统上的docker
1.1 修改文件
修改文件:
vi /lib/systemd/system/docker.service
,将第五行改为:ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
注意这里的端口是2375,一会连接的时候会用到
1.2 重新加载配置文件 重启docker服务
//重新加载服务的配置文件
systemctl daemon-reload
//重启docker服务以下两个命令任意选一个
//命令1
service docker restart
//命令2
systemctl restart docker
二、配置IDEA Docker integration插件
2018以上版本的IDEA 已经自带了Docker integration 插件,如果没有就去下载一下这个插件
在Setting设置中搜索 “ docker” 在箭头4框内输入自己服务器的ip加给docker配置的端口,并且箭头5位置出现该提示则代表成功!
成功后直接apply
直接点击这里连接到远程服务器上的docker
三、配置项目
3.1置需要打包成docker镜像的Maven项目的POM.XML文件
<properties>
<java.version>1.8</java.version>
<!--打包后镜像的前缀-->
<docker.image.prefix>lilinjiang</docker.image.prefix>
</properties>
<build>
<plugins>
<!--镜像启动插件-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!--配置部署到远程docker中-->
<!--一键部署-->
<plugin>
<!--启动插件-->
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<!--指定生成的镜像名-->
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<!--指定标签-->
<imageTags>
<imageTag>latest</imageTag>
</imageTags>
<!--基础镜像-->
<baseImage>java:8</baseImage>
<!--作者信息-->
<maintainer>lilinjiang</maintainer>
<!--切换到/ROOT目录-->
<workdir>/ROOT</workdir>
<cmd>["java","-version"]</cmd>
<entryPoint>["java","-jar","${project.build.finalName}.jar"]</entryPoint>
<!--指定远程 docker api地址-->
<dockerHost>http://xxx.xxx.xxx:2375</dockerHost>
<resources>
<resource>
<targetPath>/ROOT</targetPath>
<!--用于指定需要复制的跟目录 此处配置的${project.build.directory}是 即对应 target 目录-->
<directory>${project.build.directory}</directory>
<!-- 需要包含的 jar包 ,这里对应的是 Dockerfile中添加的文件名 -->
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
3.2 通过Maven 清理 并 打包
四、构建docker镜像
4.1 准备工作
1、 需要配置 maven 环境变量 否则将无法使用maven命令
2、 给maven中添加docker-maven-plugin的白名单,在pluginGroups节点中添加如下代码。(直接搜索关键字找到!!!!)
<pluginGroup>com.spotify</pluginGroup>
3、可能会用到的baseImg镜像依赖(打包时会自动下载jdk依赖,若未自动下载请手动拉取下列镜像任意一个即可)
docker pull openjdk:8u191-jdk-alpine3.9 docker pull openjdk:8-jdk-alpine
4.2 构建
1、在你要构建的项目上右键开启命令行
2、在打开的命令行中输入一下命令
mvn docker:build
然后我们就能在docker中看到生成的镜像了
4.3 配置运行容器
右键镜像选择 create container 填写上面信息 做好端口映射run 运行即可
五、问题
如果项目是SpringBoot多模块项目,那么直接点package可能会出现找不到依赖jar问题
如 A模块依赖了B模块的jar包;
我们只需要先将B模块通过mvn install,将B模块的jar安装在本地的Repository中;
然后再执行A模块的mvn package命令
更多推荐
所有评论(0)