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 [email protected]

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章