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

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

    
    
    
  • 相关阅读:
    一个主机下创建两个MySQL
    Chrome: Failed to read the 'localStorage' property from 'Window' 的解决办法
    Effective C++
    归并排序
    Daily Note
    关于Beta分布、二项分布与Dirichlet分布、多项分布的关系
    测试公式
    VLAN原理解释
    子网划分
    windows下制作debian U盘启动
  • 原文地址:https://www.cnblogs.com/jiuchongxiao/p/9042026.html
Copyright © 2011-2022 走看看