• 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

  • 相关阅读:
    常用的一些js方法
    git常用命令
    thread join和detach的区别
    C和C++的区别和联系
    C++面试集锦( 面试被问到的问题 )
    C/C++面试题:编写类String的构造函数、析构函数和赋值函数。
    C++ 多态的实现及原理
    获取当前操作系统的ip
    CString的头文件
    C++ 多用户模式下同一个exe只能运行一次
  • 原文地址:https://www.cnblogs.com/morgan363/p/12030376.html
Copyright © 2020-2023  润新知