IDEA推送docker鏡像到私服/利用dockerfile-maven-plugin插件在springboot中上傳鏡像到遠程的docker服務器、遠程倉庫


 

      利用dockerfile-maven-plugin插件在springboot中上傳鏡像到遠程倉庫
      這篇文章講解在開發工具中把打包好的jar編譯成docker鏡像,上傳到遠程的docker服務器,以及根據鏡像創建測試docker容器,驗證springboot程序,以及Dockerfile配置
      如何生成證書以及docker服務器開啟遠程端口,參考這篇文章:https://www.cnblogs.com/morgan363/p/12029783.html

1、Windows下配置環境變量

      增加三個系統環境變量,在環境變量->系統變量->新建

      DOCKER_HOST=tcp://192.168.74.82:2376
      DOCKER_CERT_PATH=證書路徑
      DOCKER_TLS_VERIFY=1

備注:
      1)證書路徑目錄下面有三個證書文件 ca.pem、cert.pem、key.pem
      2)DOCKER_HOST中的ip是docker服務器的ip

 

      

      

 

2、springboot項目使用dockerfile-maven-plugin插件

      pom.xml文件

 <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>dockerfile-maven-plugin</artifactId>
                <version>1.4.3</version>
                <!--<executions>
                    <execution>
                        <id>default</id>
                        <goals>
                            <goal>build</goal>
                            <goal>push</goal>
                        </goals>
                    </execution>
                </executions>-->
                <configuration>
                    <repository>121.42.162.203/${project.artifactId}</repository>
                    <tag>${project.version}</tag>
                    <buildArgs>
                        <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
                        <JAR_EXPOSE>8082</JAR_EXPOSE>
                    </buildArgs>
                </configuration>
</plugin>

      注:repository屬性里的ip要修改成自己的docker服務器ip

      springboot項目的根目錄新建Dockerfile文件,復制下面的代碼

      

 

FROM openjdk:8-jre
ARG JAR_EXPOSE=8082
EXPOSE $JAR_EXPOSE
ARG JAR_FILE
ADD $JAR_FILE /app.jar
ENTRYPOINT ["java", "-jar", "-Duser.timezone=GMT+08", "/app.jar"]

 

3、執行maven命令上傳鏡像

      mvn clean package dockerfile:build -Dmaven.test.skip=true

      

      

 

4、maven命令成功執行后可以在docker服務器看到鏡像 docker images

      

 

5、docker run這個springboot編譯的docker鏡像

docker run --name countgame -d -p 8082:8082 6f0d

      注:后面的6f0d是image_id,在docker images的后面可以看到

 

6、docker ps可以看到容器已經啟動

 

7、查看容器啟動日志,日志正常

docker logs --tail 300 -f countgame

 

8、用curl測試程序是否正常,可以看到有內容返回,返回的網頁正常

curl http://127.0.0.1:8082/countgame/user/toGame

 

注:
    1.修改了系統變量需要重啟開發工具才能生效,一開始提示上傳鏡像失敗,看了錯誤是上傳的ip還是默認的127.0.0.1,重啟IDEA或者eclipse就可以了

 

摘自:https://blog.csdn.net/qq_21187515/article/details/90302026

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM