idea集成docker實現遠程部署

一、修改配置文件,打開2375端口(請勿在生產環境使用,沒有認證不安全)

vim /lib/systemd/system/docker.service,找到配置參數ExecStart,在後面添加-H tcp://0.0.0.0:2375,變成了

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375

重新加載配置文件和啓動:
systemctl daemon-reload
systemctl start docker(如果docker已經啓動了,應該執行systemctl restart docker)

二、idea安裝docker插件(Docker integration)並配置:


或者在下面這個圖裏編輯也行


三、新建springboot項目並配置pom文件:
<build>
    <finalName>${project.artifactId}</finalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <fork>true</fork>
            </configuration>
        </plugin>
        <!-- 跳過單元測試 -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <skipTests>true</skipTests>
            </configuration>
        </plugin>
        <!--使用docker-maven-plugin插件-->
        <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>1.0.0</version>
            <!--將插件綁定在某個phase執行-->
            <executions>
                <execution>
                    <id>build-image</id>
                    <!--用戶只需執行mvn package ,就會自動執行mvn docker:build-->
                    <phase>package</phase>
                    <goals>
                        <goal>build</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <!--指定生成的鏡像名-->
                <imageName>fred/${project.artifactId}</imageName>
                <!--指定標籤-->
                <imageTags>
                    <imageTag>latest</imageTag>
                </imageTags>
                <!-- 指定 Dockerfile 路徑-->
                <dockerDirectory>${project.basedir}</dockerDirectory>
                <!--指定遠程 docker api地址-->
                <dockerHost>http://47.99.64.181:2375</dockerHost>
                <!-- 這裏是複製 jar 包到 docker 容器指定目錄配置 -->
                <resources>
                    <resource>
                        <targetPath>/</targetPath>
                        <!--jar 包所在的路徑  此處配置的 即對應 target 目錄-->
                        <directory>${project.build.directory}</directory>
                        <!-- 需要包含的 jar包 ,這裏對應的是 Dockerfile中添加的文件名 -->
                        <include>${project.build.finalName}.jar</include>
                    </resource>
                </resources>
            </configuration>
        </plugin>
    </plugins>
</build>


四、根目錄下編寫Dockerfile
FROM openjdk:8-jdk-alpine
ADD *.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
 

五、點擊maven的package進行構建


 

六、找到剛生成的鏡像,創建容器




設置完了啓動運行,到遠程服務器上docker ps看看是否有了,訪問一下試試。正常的話是可以的。

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