• docker 打包springboot镜像并启动


    1.使用maven将项目打成一个包含所有的jar包

     

    2.pom.xml中包含即可通过mvn clean package 就可以打成可执行jar包

    <build>

    <plugins>

    <plugin>

    <groupId>org.apache.maven.plugins</groupId>

    <artifactId>maven-compiler-plugin</artifactId>

    <version>2.3.2</version>

    <configuration>

    <source>1.8</source>

    <target>1.8</target>

    <encoding>UTF-8</encoding>

    </configuration>

    </plugin>

    <plugin>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-maven-plugin</artifactId>

    <configuration>

    <fork>true</fork>

    <mainClass>com.org.Application</mainClass>

    <layout>ZIP</layout>

     

    </configuration>

    <executions>

    <execution>

    <goals>

    <goal>repackage</goal>

    </goals>

    <!-- 分离出代码包

    <configuration>

    <classifier>exec</classifier>

    </configuration>

    -->

    </execution>

    </executions>

    </plugin>

    </plugins>

    </build>

     

    3.将打成的jar包和一个DockerFile文件放入安装了docker的环境

     

     

    DockerFile内容为:

     

    #指定依赖的镜像

    FROM java:8-alpine

    #springboot tomcat挂载的目录

    VOLUME /tmp

    #容器使用端口

    EXPOSE 9002

    #添加jar包入容器

    ADD start-apply-service-1.0-SNAPSHOT.jar app.jar

    #改名

    RUN sh -c 'touch /app.jar'

    #容器启动java

    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

     

     

    ------------------------------简化版DockerFile配置-----------------------------------------

    FROM java:8-alpine

    EXPOSE 9002

    ADD start-apply-service-1.0-SNAPSHOT.jar /app.jar

    ENTRYPOINT ["java","-jar","/app.jar"]

    -------------------------------end---------------------------------------------

     

    4.执行 docker build -t springboot:2.0 . #最后的"."指的是DockerFile文件的当前路径,springboot 为镜像名,2.0为tag,build 就是构建的意思。

    5.执行上述命名 即可通过docker images 看到 我们生成的镜像

     

    6. docker run -d -p 9002:9002 springboot:2.0 #启动自定义容器

    7.docker logs --tail=200 2915c40fdcdf #查看容器启动日志

     

    8.本地尝试访问

     

     

  • 相关阅读:
    浮动 无刷新 div
    vidalia 更换浏览器代理
    vb 主动 点击 a
    Delphi 资料收集
    用Linux的iptables和Python模拟广域网
    框架资源
    div 边框
    Google App Engine
    mac 雪豹 10.6 五国
    Windows Azure Storage (3) Windows Azure Storage Service存储服务之Blob详解(中)
  • 原文地址:https://www.cnblogs.com/keepMoveForevery/p/12205917.html
Copyright © 2020-2023  润新知