热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

dockerfilepom打包及dockerfeign调用

1.打包发布到本地com.spotifydockerfile-maven-plugin

1.打包发布到本地

<plugin><groupId>com.spotify</groupId><artifactId>dockerfile-maven-plugin</artifactId><version>1.4.10</version><configuration><dockerfile>DockerFile</dockerfile><repository>${docker.image.prefix}/${project.artifactId}</repository><buildArgs><JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE></buildArgs></configuration></plugin>

pom添加此dockerfile插件。
若版本为1.4以下会出现 &#xff0c;
Could not acquire image ID or digest following build
标签为指定dockerfile文件目录&#xff0c;在不指定情况下根目录新建Dockerfile可能会找不到而报错&#xff1a;
Could not acquire image ID or digest following build
根目录新建Dockerfile&#xff08;pom同级&#xff09;

FROM java:8
EXPOSE 10012
ARG JAR_FILE
ADD ${JAR_FILE} /server-sync.jar
ENTRYPOINT ["java", "-jar","/server-sync.jar"]

这里根据需求写。

打开docker的Expose daemon on tcp://localhost:2375 without TLS
我这边使用的时windows直接勾选就行。
docker端口打开

然后执行

mvn clean package dockerfile:build -Dskiptests

就是maven clean&#43;mvn package&#43;dockerfile打包到容器&#xff0c;跳过测试。


feign调用

feign时springcloud的一个组件&#xff0c;服务通过注册到eureka发现服务&#xff0c;然后使用feign时&#xff0c;会自动去寻找对应的服务的地址端口。比resttemplate方便的地方在于不用写服务地址&#xff0c;就算服务地址改变了也不用更改任何代码。

docker说白了就是虚拟机&#xff0c;在系统下构建一块虚拟机linux&#xff0c;那docker首先会从网卡中分出一个网段&#xff0c;docker默认为桥接。然后分配到各个docker容器&#xff08;虚拟机&#xff09;下。
相当于docker在主机下面重新开了一个路由器&#xff0c;然后由docker分配ip&#xff0c;
那么当docker容器处于同一个主机时&#xff0c;我们只需要配置

eureka&#xff1a;instance:prefer-ip-address: true

把真实ip显示出来就行&#xff0c;此ip为docker分配给容器的ip。那么feign获得的此ip可以直接使用。

当服务处于不同主机时&#xff0c;使用此IP肯定时无法访问&#xff0c;不同主机之间应该使用主机ip来访问&#xff0c;docker通过映射端口也可以通过主机地址访问内到容器。

我们可以指定环境变量

EUREKA_INSTANCE_IP-ADDRESS&#61;192.168.0.58

192.168.0.58 ip为主机ip&#xff0c;
可以在docker启动时配置&#xff0c;也可以写在dockerfile中
启动时添加参数

-e "EUREKA_INSTANCE_IP-ADDRESS&#61;192.168.0.58"

dockerfile添加参数

ENV EUREKA_INSTANCE_IP-ADDRESS 192.168.0.58

192.168.0.58 ip为主机ip&#xff0c;

当然 nginx也是不错的选择&#xff0c;在此部一一赘述。


推荐阅读
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • Spring Boot单元测试中Redis连接失败的解决方案
    本文探讨了在Spring Boot项目中进行单元测试时遇到Redis连接问题的原因及解决方法,详细分析了配置文件加载路径不当导致的问题,并提供了有效的解决方案。 ... [详细]
  • 本文介绍如何在Spring Boot项目中集成Redis,并通过具体案例展示其配置和使用方法。包括添加依赖、配置连接信息、自定义序列化方式以及实现仓储接口。 ... [详细]
  • Spring Boot 中静态资源映射详解
    本文深入探讨了 Spring Boot 如何简化 Web 应用中的静态资源管理,包括默认的静态资源映射规则、WebJars 的使用以及静态首页的处理方法。通过本文,您将了解如何高效地管理和引用静态资源。 ... [详细]
  • 本文探讨了如何利用HTML5和JavaScript在浏览器中进行本地文件的读取和写入操作,并介绍了获取本地文件路径的方法。HTML5提供了一系列API,使得这些操作变得更加简便和安全。 ... [详细]
  • 本题探讨了在大数据结构背景下,如何通过整体二分和CDQ分治等高级算法优化处理复杂的时间序列问题。题目设定包括节点数量、查询次数和权重限制,并详细分析了解决方案中的关键步骤。 ... [详细]
  • 本文介绍了如何在多线程环境中实现异步任务的事务控制,确保任务执行的一致性和可靠性。通过使用计数器和异常标记字段,系统能够准确判断所有异步线程的执行结果,并根据结果决定是否回滚或提交事务。 ... [详细]
  • 本文详细探讨了 org.apache.hadoop.ha.HAServiceTarget 类中的 checkFencingConfigured 方法,包括其功能、应用场景及代码示例。通过实际代码片段,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 2018-2019学年第六周《Java数据结构与算法》学习总结
    本文总结了2018-2019学年第六周在《Java数据结构与算法》课程中的学习内容,重点介绍了非线性数据结构——树的相关知识及其应用。 ... [详细]
  • 本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ... [详细]
  • Nginx 反向代理与负载均衡实验
    本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
  • 深入解析Java枚举及其高级特性
    本文详细介绍了Java枚举的概念、语法、使用规则和应用场景,并探讨了其在实际编程中的高级应用。所有相关内容已收录于GitHub仓库[JavaLearningmanual](https://github.com/Ziphtracks/JavaLearningmanual),欢迎Star并持续关注。 ... [详细]
  • 本文详细介绍了在XAMPP环境中如何修改Apache和MySQL的默认端口号,并确保WordPress能够正常访问。同时,提供了针对Go语言社区和Golang开发者的相关建议。 ... [详细]
  • 在编译BSP包过程中,遇到了一个与 'gets' 函数相关的编译错误。该问题通常发生在较新的编译环境中,由于 'gets' 函数已被弃用并视为安全漏洞。本文将详细介绍如何通过修改源代码和配置文件来解决这一问题。 ... [详细]
  • 配置PHPStudy环境并使用DVWA进行Web安全测试
    本文详细介绍了如何在PHPStudy环境下配置DVWA( Damn Vulnerable Web Application ),并利用该平台进行SQL注入和XSS攻击的练习。通过此过程,读者可以熟悉常见的Web漏洞及其利用方法。 ... [详细]
author-avatar
naniwang99_537_742
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有