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

相关文章
|
6月前
|
JavaScript Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
480 100
|
6月前
|
缓存 安全 Linux
优化Docker镜像大小的多阶段构建实践
优化Docker镜像大小的多阶段构建实践
446 99
|
6月前
|
缓存 Docker 容器
优化Docker镜像大小的五个实用技巧
优化Docker镜像大小的五个实用技巧
605 98
|
6月前
|
安全 Go Docker
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
|
5月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
693 6
|
6月前
|
Java Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
288 8
|
7月前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
482 16