zoukankan      html  css  js  c++  java
  • 使用Maven插件快捷打包发布远程Docker镜像 dockerfile-maven-plugin

    1.开放远程Docker远程访问端口

    # vim /lib/systemd/system/docker.service

    ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2377 -H unix:///var/run/docker.sock

    在配置项中修改该属性,该方式会直接暴露可以操控docker进程的端口,需要注意安全,修改完后重启docker服务

    systemctl restart docker

    2.在客户端添加系统环境变量参数

    3.为项目添加插件

    <plugin>
    <groupId>com.spotify</groupId>
    <artifactId>dockerfile-maven-plugin</artifactId>
    <version>${dockerfile-maven-version}</version>
    <executions>
    <execution>
    <id>default</id>
    <!--<phase>install</phase>-->
    <goals>
    <goal>build</goal>
    <goal>push</goal>
    </goals>
    </execution>
    </executions>
    <configuration>
    <repository>${docker.image.prefix}/${project.build.finalName}</repository>
    <tag>${project.version}</tag>
    <buildArgs>
    <JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
    </buildArgs>
    </configuration>
    </plugin>



    变量需要在pom的properties内定义

    4.在项目根目录下添加Dockerfile文件
    FROM frolvlad/alpine-oraclejdk8
    VOLUME /tmp
    ARG JAR_FILE
    ADD target/${JAR_FILE} app.jar
    RUN sh -c 'touch /app.jar'
    ENV JAVA_OPTS=""
    ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
    EXPOSE 8080

    打包发布为远程docker镜像

    mvn clean package dockerfile:build -DskipTests

    或者

    mvn clean install

    第一次因为需要下载基础底层镜像会稍慢一点,之后构建都会很快,这样镜像就发布完成了,可以在远程查看到镜像 

    
    
    
  • 相关阅读:
    csu1217: 奇数个的那个数
    小试SAS 判别分析
    bfs poj2965
    STL set常用操作
    csu1002 A+B(III)
    HDOJ 1002 的几种方法
    SQL知识积累
    CSV文件格式介绍
    ASP.net Web Form 知识积累
    C# 位域[flags] 枚举
  • 原文地址:https://www.cnblogs.com/jiuchongxiao/p/9042026.html
Copyright © 2011-2022 走看看