• 使用maven 构建 Docker镜像


    建议: 最好了解docker , 会基本操作,在看这篇文章

    Spotify公司开源了一款docker的Maven插件:

    旧版:  docker-maven-plugin 

    新版: dockerfile-maven-plugin

    这边我们使用新版,旧版本存在很多问题【动不动就找不到Dockerfile文件,修改版本每次都得替换jar变量@finalName@】

    旧版: 折腾我半天了,一会好使一会不好使 

    1、开通docker的远程API,端口2375

    docker安装就不说了,属于基础,自己找

    我的docker版本

    Client: Docker Engine - Community
    Version: 19.03.12
    
    Server: Docker Engine - Community
     Engine:
      Version:          19.03.12

    我的系统是centos 7的

    vi    /lib/systemd/system/docker.service

    在ExecStart下,增加 -H tcp://0.0.0.0:2375

     保存,然后输入以下命令,重新加载配置和重启

    systemctl daemon-reload 
    systemctl restart docker

    注意:改完以后docker images  或者 docker ps 看看是否正常,要是卡住没反应那肯定是有问题了。

    2、配置docker_host环境变量

     

     注意:IDE工具如果早于 环境变量配置  前打开了

               最好在配置环境变量后,将IDE关闭重新打开。

               不然maven_docker连接地址还是本地的127.0.0.1:2375

    3、配置pom.xml文件

    <plugin>
    <groupId>com.spotify</groupId>
    <artifactId>dockerfile-maven-plugin</artifactId>
    <version>1.4.9</version>

    <configuration>
    <!--使用maven, gorupId,artifactId,和tag用版本 -->
    <repository>${project.groupId}/${project.artifactId}</repository>
    <tag>${project.version}</tag>
    <buildArgs>
    <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
    </buildArgs>
    </configuration>
    </plugin>

    4、配置Dockerfile文件

    FROM openjdk:8-jdk-alpine
    VOLUME /tmp
    ARG JAR_FILE
    COPY ${JAR_FILE} app.jar
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

    5、 打包

    使用 maven 中 package 重新生成jar文件

    然后使用 maven 下的 Plugins ---dockerfile 中的build

     

     

    6、 在docker镜像中可以看到

  • 相关阅读:
    NOR flash和NAND flash区别,RAM 和ROM区别
    JPG文件结构分析
    JPG文件结构分析
    如何在cmd命令行中查看、修改、删除与添加环境变量
    如何在cmd命令行中查看、修改、删除与添加环境变量
    IJG JPEG使用说明
    IJG JPEG使用说明
    Jpeglib读取jpg文件
    Jpeglib读取jpg文件
    VS开发】C中调用C++文件中定义的function函数
  • 原文地址:https://www.cnblogs.com/codelives/p/13627183.html
Copyright © 2020-2023  润新知