Docker学习(十三)maven构建镜像

1.创建Dockerfile文件

在 maven 项目中,添加 Dockerfile 文件,Dockerfile 文件一般放置在项目 main/docker 目录下。

# 依赖于oracle官方JDK8
FROM openjdk:8-jdk-alpine
# 将本地路径/tmp挂载到容器
VOLUME /tmp
# 拷贝jar包 eureka-server.jar为目标jar包,重命名为app.jar
COPY eureka-server-1001.jar app.jar
# 运行jar包
ENTRYPOINT [ "java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar" ]

2.修改pom文件

<build>
    <!-- 项目名字定制:名称-端口 -->
    <finalName>${project.artifactId}-${my-demo.server.port}</finalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>

        <!-- 新增的 docker maven 插件 -->
        <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>0.4.13</version>
            <!-- docker 镜像相关的配置信息 -->
            <configuration>
                <!-- 镜像名,这里用工程名/服务名 -->
                <imageName>my/demo:0.0.1</imageName>
                <!-- Dockerfile 所在路径 -->
                <dockerDirectory>src/main/docker</dockerDirectory>
                <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
                <resources>
                    <resource>
                        <targetPath>/</targetPath>
                        <!--jar 包所在的路径  此处配置的 即对应 target 目录-->
                        <directory>${project.build.directory}</directory>
                        <!--用于指定需要复制的文件 需要包含的 jar包 ,这里对应的是 Dockerfile中添加的文件名 -->
                        <include>${project.build.finalName}.jar</include>
                    </resource>
                </resources>
            </configuration>
        </plugin>
    </plugins>
</build>

3.构建镜像

mvn docker:build

4.执行结果

在这里插入图片描述

5.如果构建报错

报错内容:org.apache.http.conn.HttpHostConnectException: Connect to localhost:2375

在这里插入图片描述

解决方案:

在这里插入图片描述

整理完毕,完结撒花~

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Docker是一种容器化技术,可以将应用程序、环境和所有相关依赖打包成一个独立的镜像,在不同平台上运行。Docker镜像是用于创建Docker容器的模板,可以包含多种应用程序和工具。 带有Python、Maven和JDK的Docker镜像是一种集成了这三种工具和环境的镜像,方便开发者在Docker环境中快速搭建Python、Java和项目构建的开发环境。 Python是一种简单易学的脚本语言,广泛应用于Web开发、数据分析和人工智能领域等。Maven是一个Java项目管理和构建工具,可以管理项目的依赖和构建过程。JDK则是Java开发工具包,提供了Java开发所需的运行时环境和开发工具。 使用带有Python、Maven和JDK的Docker镜像,可以简化开发环境的配置和部署过程。开发者只需下载该镜像,然后在Docker中创建一个容器,就可以立即开始使用Python、Maven和Java进行开发。 此外,Docker还具有隔离性和可移植性的优势。每个Docker容器都是相互隔离的,这意味着不同容器中的应用程序可以独立运行,互不影响。而且,Docker容器可以在不同的操作系统和平台上运行,无需考虑环境差异的问题。 总之,带有Python、Maven和JDK的Docker镜像是一种方便、快捷和可移植的开发环境解决方案,适用于使用Python、Java和Maven进行开发的开发者。它简化了开发环境的配置和部署过程,提高了开发效率和项目可移植性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不愿放下技术的小赵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值