IDEA中使用Docker插件

在Windows上如果没有安装docker for windows的话,是没办法构建Docker镜像的。这种情况下,如果要通过fat jar构建docker镜像的话,只能将fat jar上传到安装了docker服务的Linux服务器上,然后编写Dockerfile构建。这种方式比较麻烦,这里记录下如何通过IDEA的Docker插件远程构建Docker镜像。

Docker开启远程访问

假如我在CentOS虚拟机上安装好了Docker,IP地址为192.168.33.11,我们可以修改Docker的配置,开启远程访问权限:

1
2
# 修改Docker配置
vi /lib/systemd/system/docker.service

修改的地方如下图所示:

QQ截图20191203190038.png

修改保存后,重启Docker服务:

1
2
systemctl daemon-reload 
systemctl restart docker.service

重启后,验证下2375端口是否是通的:

1
curl 192.168.33.11:2375/info

如果返回了一坨JSON数据,说明🆗。

IDEA使用Docker插件

IDEA Ultimate版本已经默认安装了Docker插件(没有的话去插件市场下载安装下就可以了)。点击IDEA -> File -> Settings… -> Build,Execution,Deployment -> Docker:

QQ截图20191203190538.png

填写远程Docker地址,如果显示Connection Successfully说明连接远程Docker服务成功。

新建一个简单的Spring Boot项目,pom如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>cc.mrbird</groupId>
<artifactId>demo</artifactId>
<version>0.0.1</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>

<properties>
<java.version>1.8</java.version>
</properties>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

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

</project>

然后用maven打包,打包后项目根目录的target下会有如下fat jar:

QQ截图20191203191101.png

在项目根目录下新建Dockerfile,内容如下所示:

1
2
3
4
5
FROM openjdk:8u212-jre
MAINTAINER MrBird 852252810@qq.com

COPY target/demo-0.0.1.jar /demo-0.0.1.jar
ENTRYPOINT ["java", "-jar", "/demo-0.0.1.jar"]

然后点击IDEA -> Run -> Edit Configrations…

QQ截图20191203191341.png

选择远程的Docker服务,填写镜像标签内容,点击保存后,运行:

QQ截图20191203191547.png

通过日志来看,镜像构建是成功的:

QQ截图20191203191734.png

可以看到远程服务器上已经包含了该Docker镜像:

QQ截图20191203191809.png

可以到服务器上验证下:

QQ截图20191203191934.png

请作者喝瓶肥宅水🥤

0