idea 使用 Docker 打包镜像的两种方式_07-阿里云开发者社区

开发者社区> 云原生> 正文

idea 使用 Docker 打包镜像的两种方式_07

简介:

idea 使用 Docker 打包镜像的两种方式_07
  • 一、方式:
    • 一、idea 的docker 插件 和Dockerfile;
    • 二、pom和Dockerfile结合。
  • 二、详解
    • 第一种:
      • 1、第一步,安装Docker插件
        0f91e920-7bbd-40d1-b8c0-3ccbb2be0d2f-5210562.jpg
        • 安装后,需要重启;
      • 2、创建Dockerfile 文件,路径可以放在和pom 同级目录,也可以/src/main/docker 中 ;测试为主,所以内容可以简单。如下
        8d79f6ff-92a6-4f02-b89a-c0bc9c11d1c5-5210562.jpg
        • FROM java:8
        • ADD /.jar app.jar
        • EXPOSE 8080
        • ENTRYPOINT ["java","-jar","/app.jar"]
      • 3、配置启动命令,如
        3310bfda-0dc1-4082-a329-0686bee2354b-5210562.jpg
        53e2c599-5135-4336-8fd2-9087b26869ff-5210562.jpg
      • 4、 点击启动
        d81f438d-118e-4573-af22-d7595233df0b-5210562.jpg
    • 第二种:
      • 1、pom文件
        0414fe5a-86c4-40ed-9183-b305670a7d15-5210562.jpg
        • <plugin>
          • <groupId>com.spotify</groupId>
          • <artifactId>docker-maven-plugin</artifactId>
          • <version>1.0.0</version>
          • <!--将插件绑定在某个phase执行,这个executions可以不添加,-->
          • <executions>
            • <execution>
              • <id>build-image</id>
              • <phase>package</phase>
              • <goals>
                • <goal>build</goal>
              • </goals>
            • </execution>
          • </executions>
          • <configuration>
            • <!--指定生成的镜像名-->
            • <imageName>${project.artifactId}</imageName>
              • <!--指定标签-->
            • <imageTags>
              • <imageTag>latest</imageTag>
            • </imageTags>
              • <!-- 指定 Dockerfile 路径 ${project.basedir}:项目根路径下-->
            • <dockerDirectory>${project.basedir}</dockerDirectory>
              • <!--指定远程 docker api地址,你的docker安装的地址,一定要测试docker是否可以远程访问-->
            • <dockerHost>https://127.0.0.1:2376</dockerHost>
              • <!-- 这里是复制 war 包到 docker 容器指定目录配置 -->
            • <resources>
              • <resource>
                • <targetPath>/</targetPath>
                  • <!--jar 包所在的路径 此处配置的 即对应 target 目录-->
                • <directory>${project.build.directory}</directory>
                  • <!-- 需要包含的 jar包 ,这里对应的是 Dockerfile中添加的文件名,一定要注意,如果我们不配置finalName 系统自定义, 容易出现问题,所以我建议在<build></build>中记得自定义 <build><finalName>springboot-docker</finalName>-->
                • <include>${project.build.finalName}.jar</include>
              • </resource>
            • </resources>
          • </configuration>
          • </plugin>
      • 2、创建Dockerfile 文件,路径可以放在和pom 同级目录,也可以/src/main/docker 中 ;测试为主,所以内容可以简单。如下
        34545311-77c6-4c43-b037-c22bcf08452c-5210562.jpg
        • FROM java:8
        • ADD /.jar app.jar
        • EXPOSE 8080
        • ENTRYPOINT ["java","-jar","/app.jar"]
          dbf84edd-df5e-4358-be37-e50714629a35-5210562.jpg
      • 3、执行
        20fa92c7-cd61-43d6-b37b-0bd42ea8bf9b-5210562.jpg

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云原生
使用钉钉扫一扫加入圈子
+ 订阅

云原生时代,是开发者最好的时代

其他文章