Tag: spring

Java + Docker:不同的数据源url

我正在开发一个我想在Docker环境中运行的Spring Boot项目。 该项目分成不同的模块,每个模块都有自己的Dockerfile,所以我使用docker组合来组合这些模块。 我有一个服务的数据库: db: image: postgres:9.5 ports: – 5432:5432 environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: 123456 POSTGRES_DB: db1 与db一起工作的模块具有数据源集: spring.datasource.url= jdbc:postgresql://db:5432/db1 问题是我有同事谁不希望在docker出于性能原因(Windows + Mac用户)运行它。 他们依靠spring.datasource.url= jdbc:postgresql://localhost:5432/db1 。 我可以根据模块运行的环境使用不同的数据源吗?

在Docker容器发布端口时,应用程序在Eureka中使用IP而不是主机名注册

我dockerize我的Spring Boot应用程序并部署到Docker群集。 如果我不发布我的应用程序公开的端口,那么尤里卡客户端将主机名称作为实例的地址发送,如http://ecf28bdd26c5:8080 – 好 如果我发布的端口(使用Docker的–publish参数),那么它注册与IP,如http://10.255.0.25:8080 – 坏 即使我明确地设置了eureka.instance.prefer-ip-address=false 。 如何强制Eureka客户端真正使用主机名?

在运行Rancher的Docker容器时,Netflix的Eureka是否提供了任何好处?

我们使用Spring Cloud Netflix收集了使用Spring Boot构build的微服务。 到目前为止,他们已经被打包成RPM,并部署到虚拟机。 使用Eureka已经允许服务注册/发现(显然),我们的跨微服务交互使用Spring的RestTemplate和虚拟IP(VIP)完成,如下所示: http://foo-service/<PATH_TO_RESOURCE> 客户端负载平衡是另一个好处。 现在,我们正在寻找使用Docker并在Rancher中运行。 我想知道使用尤里卡在这种环境下还是有意义的。 在Rancher中,如果服务被命名为“foo-service”,那么该名称在Rancher内部networking中被用作VIP,所以上面显示的相同的URL也可以工作。 而且,如果有多个容器支持服务,Rancher将循环负载均衡stream量。 此外,看起来牧场主知道集装箱来得比Eureka快。 我正在努力寻找保持尤里卡的坚实理由。 我非常感谢别人的想法/经验。 谢谢!

docker工运行在错误的端口上的图像

我有一个春季启动应用程序,我创build了这样一个dockerfile: FROM java:8 EXPOSE 80 ADD /target/test-server.jar test-server.jar ENTRYPOINT ["java","-jar","test-server.jar"] 接下来我按照下面的步骤 docker build -t test-server . docker run -p 8888:80 -t test-server 它可以工作,但在端口8080,这是默认的tomcat。 我想要它在8888上运行 docker ps的结果 3debfb5a9084 test-server "java -jar test-ser" About a minute ago Up About a minute 0.0.0.0:8888->80/tcp thirsty_euclid 顺便说一句,为什么它显示testing服务器而不是testing服务器? 通常,我希望能够在几个不同的端口上运行此服务器 来自命令的结果 nmap -A -p8080,8888 localhost 是 Starting Nmap 7.12 ( https://nmap.org ) […]

在关键云代工厂运行docker图像

我有一个在Docker容器中运行的应用程序。 是否可以在Cloud Foundry中部署这个包含应用程序的Docker容器,而无需对应用程序或容器本身进行任何更改?

有Spring Boot的Docker和Eureka无法注册客户端

我有一个使用Spring Boot + Docker Compose + Eureka的简单演示。 我的服务器使用以下应用程序属性在端口8671上运行: server: port: 8761 eureka: instance: prefer-ip-address: true client: registerWithEureka: false fetchRegistry: false server: waitTimeInMsWhenSyncEmpty: 0 我的Eureka客户端在9000端口上运行,具有以下应用程序属性: server: port: 9000 spring: application: name: user-registration eureka: client: registerWithEureka: true fetchRegistry: true serviceUrl: defaultZone: http://localhost:8761/eureka/ instance: prefer-ip-address: true 当我在父Maven项目中启动我的docker.compose文件时,这是我的docker-compose文件的内容: eureka-server: image: rosenthal/eureka-server ports: – "8761:8761" user-registration: image: rosenthal/user-registration ports: – […]

使用Java应用程序创builddocker图像

你好,我刚刚在docker上看到一个video,我想用java写一个简单的程序来创build一个docker镜像,得到一个容器列表等等。 这是可能的使用Java?如果是的话,我可以使用弹簧引导? 从它看来,Docker纯粹是命令行,我不知道如何开始,但我的想法是写一个简单的java服务器,并发送数据包到docker守护进程,以便能够创build图像,获取容器列表等上。 这是正确的方法,或者可以通过调用apis来使用spring-boot来完成。 如果任何人已经使用docker实现了其余的API,任何build议或示例代码将会有所帮助。

如何从外部监控Javaexception?

我正在试图实现一个实时的度量系统来监视在Docker环境中运行的Java应用程序。 我有一个弹簧启动web应用程序,它作为外部客户端轮询docker环境中每个应用程序的弹簧启动执行器端点,以返回指标,然后通过websockets实时发送到前端,这很好地工作。 我的下一个function是实现一个“exception历史logging”来监视任何docker环境应用程序抛出的exception,包括exception的类,方法和types,并通过websocket发送这些数据。 理想情况下,我希望对正在监视的应用程序进行configuration很less甚至是不需要的,并且希望通过REST或通过其他方式从外部收集所有这些exception数据,只要它可以监视环境中泊坞窗应用程序的日志/exception。 这是由于这样的事实,即如果必须configuration每个添加的监视应用程序,并且希望以这种方式运行数据收集客户端,它将开始监视所有泊坞窗指标/例外的特定主机上的应用程序。 这可行吗? 有没有我可以用来收集这些数据的开源Javaexception日志loggingAPI? 希望这个问题是有道理的。 谢谢!

更新Docker中的自定义configuration文件

我是Docker的新手。 我的要求是创build一个Wildfly文件,它应该安装Wildfly服务器,向Wildfly添加war文件,添加自定义属性文件(其中包含将由应用程序读取的db连接string) 我的Docker文件 FROM jboss/wildfly Add application.properties /opt/jboss/ ADD spring_application.war /opt/jboss/wildfly/standalone/deployments/ application.properties db_url = jdbc:mysql://**server host name**:**port** db_username = **username** db_password = **password** 注意:在上面的文件服务器主机名,端口,用户名,密码应该是dynamic的 War文件(spring rest应用程序)将从application.properties中读取参数 我能够成功安装Wildfly和部署的应用程序。 现在我需要在运行时在application.properties中传递参数。 如果有人有解决scheme,请帮助我。

Docker + Spring的启动错误:无法从url创buildVfs.Dir

在Docker容器中运行Spring Boot应用程序时,我遇到了这个错误。 我不知道如何解决这个问题。 我已经尝试创build目录/ usr / lib / jvm / java-8-openjdk-amd64 / jre / lib / ext /但是这似乎没有帮助。 我也试着用这个目录挂载一个卷。 这似乎是一个Docker的问题,因为我可以作为一个.jar运行应用程序。 这也阻止了系统的通信。 org.reflections.ReflectionsException: could not create Vfs.Dir from url, no matching UrlType was found [file:/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/ext/libatk-wrapper.so] either use fromURL(final URL url, final List<UrlType> urlTypes) or use the static setDefaultURLTypes(final List<UrlType> urlTypes) or addDefaultURLTypes(UrlType urlType) with your specialized […]