1. 程式人生 > 實用技巧 >IntelliJ IDEA快速實現Docker映象部署

IntelliJ IDEA快速實現Docker映象部署

IntelliJ IDEA快速實現Docker映象部署

一、Docker開啟遠端訪問

[root@izwz9eftauv7x69f5jvi96z docker]# vim /usr/lib/systemd/system/docker.service

 [root@izwz9eftauv7x69f5jvi96z docker]# vim /usr/lib/systemd/system/docker.service

#修改ExecStart這行

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

#重新載入配置檔案

[root@izwz9eftauv7x69f5jvi96z docker]# systemctl daemon-reload   

#重啟服務

[root@izwz9eftauv7x69f5jvi96z docker]# systemctl restart docker.service

#檢視埠是否開啟

[root@izwz9eftauv7x69f5jvi96z docker]# netstat -nlpt

#直接curl看是否生效

[root@izwz9eftauv7x69f5jvi96z docker]# curl http://127.0.0.1:2375/info

二、IntelliJ IDEA安裝Docker外掛

File–>Settings–>Plugins在搜尋框中輸入Docker,搜尋並點選安裝,安裝完成後重啟IDEA。

三、啟用Docker

在File–> Settings–>Build,Execution,Deployment中找到Docker
新建一個Docker例項,連線成功後底部會顯示Connection successful。

設定完成後,回到IDEA主介面,可以看到下面多出來一個Docker視窗或者在Services視窗中出現Docker。選中並連線Docker,連線上後顯示Containers和Images就是我們現在Docker中已經有的容器和映象。

四、使用Dockerfile構建映象

1、修改pom檔案,新增properties,新增plugin

<properties>
        <java.version>1.8</java.version>
        <docker.image.prefix>bozai</docker.image.prefix>
</properties> 
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                    <dockerDirectory></dockerDirectory>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
        </plugins>
    </build>

2、在專案的根目錄下(和pom.xml同級)建立Dockerfile檔案,內容如下:

FROM java:8
VOLUME /tmp
ADD target/*.jar app.jar
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone #設定時區
EXPOSE 8089
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

3、在Run/Debug Configurations中新增一個新配置,選擇Docker->Dockerfile,輸入配置名、容器名、埠繫結等。

4、在配置啟動項中找到Before launch:Activate tool window,在這裡新增一個Run Maven Gold

在Command line中新增命令 clean package 這麼做的目的是可以在程式碼修改之後點選執行時自動打包並構建Docker映象,如果不配置的話,修改後的程式碼並不會被打包到Docker映象中。

點選執行,我們會發現專案已經啟動成功了,在右側還可以檢視日誌等資訊,非常方便。