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

 

 

posted on 2019-12-12 17:13  morgan363  阅读(2395)  评论(0编辑  收藏  举报

导航