springboot与docker整合

一、springboot与docker整合

a.创建Dockerfile

  FROM java
  MAINTAINER "Wing"<[email protected]>
  ADD @[email protected] app.jar
  EXPOSE 8080
  CMD java -jar app.jar

  报错:missing :
  解决办法:修改Dockerfile

  FROM java
  MAINTAINER "Wing"<[email protected]>
  EXPOSE 8080
  ENTRYPOINT ["java", "-jar", "${project.build.finalName}.jar"]

b.项目中pom添加docker plugin
   <docker.registry>172.22.64.45:50000</docker.registry>

具体配置如下:

<plugin>
  <groupId>com.spotify</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <version>1.2.0</version>
    <configuration>
      <imageName>${docker.registry}/${project.groupId}/${project.artifactId}:${project.version}</imageName>
      <dockerDirectory>${project.build.outputDirectory}</dockerDirectory>
      <!-- <dockerHost>http://172.22.64.45:50000</dockerHost>-->
      <resources>
        <resource>
          <targetPath>/</targetPath>
          <directory>
            ${project.build.directory}
          </directory>
          <include>
            ${project.build.finalName}.jar
          </include>
        </resource>
      </resources>
    </configuration>
</plugin>

c.执行构建命令
  在linux中编译,在windows编译有些问题
  mvn package docker:build -X

d.push镜像 mvn package docker:build -X -DpushImage
    参考:https://blog.csdn.net/aixiaoyang168/article/details/77453974
               https://blog.csdn.net/fragrant_no1/article/details/84326694

e.启动
    docker run -i -t ef5d1bb3c4bc exec /bin/bash
    <targetPath>/</targetPath>
    EXPOSE 设置可被暴漏的端口号,如果在Dockerfile里面设置,在外网访问一直不通
    docker run -d -p 18080:8080 23b670831ef9

猜你喜欢

转载自www.cnblogs.com/yaozhixiang/p/10584558.html
今日推荐