Tag: spring

在docker集装箱几分钟后,弹簧启动连接重置

后端运行在docker容器中。 它与春季启动和安全运行,工作正常。 前端也在另一个容器中运行。 所有工作正常,直到出现这个exception抛出。 我只是在闲置几分钟之后才注意到这个exception(通常在5到10分钟之间)。 警告1 — [nio-8080-exec-2] ohengine.jdbc.spi.SqlExceptionHelper:SQL错误:0,SQLState:08S01 错误1 — [nio-8080-exec-2] ohengine.jdbc.spi.SqlExceptionHelper:I / O错误:连接重置 ERROR 1 — [nio-8080-exec-2] oaccC [。[。[/]。[dispatcherServlet]:Servlet.service()用于servlet [dispatcherServlet]上下文中的path []引发exception[Request processing failed; 嵌套的exception是org.springframework.dao.DataAccessResourceFailureException:无法提取ResultSet; 嵌套的exception是org.hibernate.exception.JDBCConnectionException:无法提取ResultSet]的根本原因 java.net.SocketException:连接重置在java.net.SocketInputStream.read(SocketInputStream.java:209)〜[na:1.8.0_111内部]在java.net.SocketInputStream.read(SocketInputStream.java:141)〜[ na:1.8.0_111-internal]在java.io.DataInputStream.readFully(DataInputStream.java:195)〜[na:1.8.0_111-internal] ….. 与数据库的连接始终可用。 奇怪的是,这个错误是只有当我运行我的项目与docker。 如果我用eclipse和node.js运行它,错误不会发生。 我注意到的唯一的事情是,在我进入和闲置几分钟之后,当我试图做某事的时候,我被自动消除了。 我不知道这是否与原有的错误有任何关系。 application.properties spring.datasource.url=databaseURL spring.datasource.username=SQLusername spring.datasource.password=Password spring.datasource.driver-class-name=net.sourceforge.jtds.jdbc.Driver spring.datasource.initialSize=100 spring.datasource.minIdle=10 spring.jpa.hibernate.naming_strategy=org.hibernate.cfg.EJB3NamingStrategy spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl spring.datasource.tomcat.max-active=250 spring.datasource.tomcat.max-wait=30000 spring.datasource.test-on-borrow=true spring.datasource.test-while-idle=true spring.datasource.minEvictableIdleTimeMillis=21600000 spring.datasource.timeBetweenEvictionRunsMillis=43200000 spring.datasource.connection-test-query=SELECT 1 spring.datasource.validationQuery=SELECT 1 […]

在Docker中使用Spring Cloud Config进行SSH转发

我将Spring Boot应用程序设置为Spring Cloud Config服务器,并从Spring Boot应用程序的application.yml中指定的Gitlab存储库中提取configuration。 我在Gitlab服务器上使用部署密钥。 这可以在我的〜/ .ssh目录中使用deploy key的私钥在本地运行。 我想在Docker中运行这个应用程序,我想使用SSH转发,而不是将〜/ .ssh中的私钥存储在Docker容器中。 我已经在Docker主机上安装了ssh-agent,并在docker-compose.yml中为容器configuration了以下内容: volumes: – $SSH_AUTH_SOCK:/ssh-agent environment: – SSH_AUTH_SOCK=/ssh-agent 在〜/ .ssh中有一个configuration文件,内容如下: Host mygitlabserver.com Hostname mygitlabserver.com StrictHostKeyChecking no ForwardAgent yes 这一切工作,如果我SSH进入正在运行的Docker容器,并手动运行一个Git克隆。 但是,如果我在容器中启动Spring Boot应用程序并尝试从Spring Cloud Config中取出configuration,则Spring Boot应用程序日志中会出现此错误: java.lang.IllegalStateException: Cannot clone or checkout repository] with root cause com.jcraft.jsch.JSchException: Auth fail at com.jcraft.jsch.Session.connect 如果我在Docker容器中的〜/ .ssh中添加私钥,而不是尝试使用转发,那么应用程序可以从Git中获取configuration。 有没有办法通过SSH转发让Spring Cloud Config在Docker中工作? 如果没有,有没有其他的方法来避免将私钥存储在正在运行的Docker容器中的文件系统的〜/ .ssh中?

Docker将应用程序(服务)日志存储在一个文件夹中,并及时清除它们

我只是有一个查询,将服务/应用程序的日志存储在一个单独的文件夹,并经常清除。 我们在Webmin服务器中使用Docker来部署我们的Spring引导应用程序。 我们想达到上述目的,防止webmin服务器中的空间混乱 以下是我们用来构build和运行服务的示例命令, docker build -t application-service:latest ./application-service docker run -p 1070:1070 -m 128m -d application-service 我用“-m”服务的内存分配而且,我只是想知道,是否有任何关键将应用程序的日志存储在不同的path和任何其他事情,我可以在docker或webmin服务器中清除日志那个特定的位置 提前致谢 !!! 等待一个build议!

使用Spring云和反应器的微服务事件采购

我目前正在研究使用spring引导和Docker构build微服务。 幸运的是,我发现这个博客使用Spring云和反应堆的微服务的事件采购 Kenny Bastani。 你可以在这里findgithub项目的源代码。 我真的想要启动和运行这个例子,因为它有我正在寻找的function/技术。 我正在运行Ubuntu桌面16.04操作系统,并已经安装了上述博客中提到的以下软件。 Maven 3 Java 8 docker工人,docker工人 Docker撰写 然后执行下面的脚本。 这也是基于博客。 我只是减less了virtualbox-memory和virtualbox-disk-size,以避免电脑冻结。 $ docker-machine创buildevent-source-demo –driver virtualbox –virtualbox-memory“1000”–virtualbox-disk-size“20000” $ eval“$(docker-machine env event-source-demo)” $ sh run.sh 运行上述脚本后,发生以下代码段错误。 2017-03-18 22:33:14.025 INFO 5136 — [ main] com.netflix.discovery.DiscoveryClient : Getting all instance registry info from the eureka server 2017-03-18 22:33:14.151 ERROR 5136 — [ main] cndstdRedirectingEurekaHttpClient […]

Swarm Networking和Spring云应用程序

我正在对Docker 1.13和Swarm进行一些调查。 我们使用Spring Boot Microservices与Eureka进行服务发现。 我在使我们的服务看到对方时遇到了问题。 其中一些服务在入口networking上启动,另一些则在为堆栈创build的networking上启动。 这是相当混乱,我不完全确定,这是我在docker堆栈设置中创build的问题,或者如何在Eureka中定义我的服务定义。 我创build了一个更小的微服务系统,它重现了我遵循的步骤,我想知道是否有人可以看看我是否在构成文件中缺lessnetworking定义或服务定义中的某些内容: https://github.com/KramKroc/nonzeroexit

Docker撰写。 networking。 Spring Boot和MySQL连接

我尝试将spring启动web应用程序连接到数据库容器。 而且我可以从网上ping db容器。 但是网页无法通过暴露的3307端口连接到数据库。 但我可以通过内部容器端口3306连接到数据库。项目非常简单。 什么可能是错的? 这是我的docker-compose.yml : version: '3' services: db: build: context: ./db dockerfile: Dockerfile image: db ports: – "3307:3306" volumes: – demo_volume:/var/lib/mysql networks: – my-backend web: build: context: ./web dockerfile: Dockerfile image: web depends_on: – db ports: – "18080:8080" networks: – my-backend environment: – DATABASE_HOST=db – DATABASE_USER=user – DATABASE_PASSWORD=password – DATABASE_NAME=demo – […]

docker中的rabbitmq的Spring Boot应用程序问题

我正在尝试使用rabbitmq构build一个由spring云stream驱动的事件驱动的微服务。 在我的情况下,rabbitmq正在docker中运行。 用于在容器下运行的Docker命令 docker run -d –hostname my-rabbit –name some-rabbit –publish 15672:15672 rabbitmq:3 然后去容器的bash模式,我在下面的命令中rabbitmq-plugins enable rabbitmq_management : rabbitmq-plugins enable rabbitmq_management以启动management-plugin CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b2bc315c44aa rabbitmq:3 "docker-entrypoint…" 7 minutes ago Up 7 minutes 4369/tcp, 5671-5672/tcp, 25672/tcp, 0.0.0.0:15672->15672/tcp some-rabbit 所以我可以通过localhost:15672浏览器访问localhost:15672 但是当我启动Spring Boot应用程序时,它并没有进行排队和交换。 请检查堆栈跟踪。 堆栈跟踪 osicodec.kryo.CompositeKryoRegistrar : configured Kryo registration [40, java.io.File] with […]

春季通告引用疯狂

我有一个5个微服务的生态系统,每个部署在一个docker集装箱中。 通常主机(VPS)有这个规格 RAM 4GB 1个虚拟CPU 高清80GB SO Ubuntu 16.04.2 LTS 从4个月开始,所有的5个实例都运行正常。 现在我需要创build一个新的实例,并遵循标准的步骤来创build这个新的环境,但是我只有一个容器的问题。 在这个容器里有一个弹簧启动web应用程序,只给我一个错误在这个环境。 错误是: 2017-07-20 09:50:20.125 INFO 22037 — [ost-startStop-1] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2017-07-20 09:50:20.878 INFO 22037 — [ost-startStop-1] ohhiQueryTranslatorFactoryInitiator : HHH000397: Using ASTQueryTranslatorFactory 2017-07-20 09:50:23.119 INFO 22037 — [ost-startStop-1] osbwservlet.FilterRegistrationBean : Mapping filter: 'CORSFilter' to: [/*] 2017-07-20 09:50:23.126 […]

在docker-compose.yml中有下划线的属性

我有基于Spring的webbapp。 configuration它我使用.yml文件。 要将环境variables从spring / backend.yml格式转换为docker-compose.yml环境部分,我必须将indents更改为下划线。 例: application.yml spring: mail: properties.mail.smtp: auth: true 泊坞窗,compose.yml environment: SPRING_MAIL_PROPERTIES.MAIL.SMTP_AUTH: true 但是一些属性名称本身包含下划线。 喜欢这个: spring: jpa: properties: hibernate: temp: use_jdbc_metadata_defaults: false 我应该如何将这些属性(名称中的下划线)翻译到docker-compose.yml中的环境部分?

Dockerize Spring Boot App

我正在看看Spring Boot应用程序的Docker化。 不幸的是我不能得到一个工作的项目。 即使是来自Pivotal的官方教程项目也不会启动。 命令.\mvnw install dockerfile:build会抛出一个错误: [INFO] ———————————————————————— [INFO] BUILD FAILURE [INFO] ———————————————————————— [INFO] Total time: 19.886 s [INFO] Finished at: 2017-08-03T11:20:52+02:00 [INFO] Final Memory: 34M/536M [INFO] ———————————————————————— [ERROR] Failed to execute goal com.spotify:dockerfile-maven-plugin:1.3.4:build (default-cli) on project gs-spring-boot-docker: Could not build image: com.spotify.docker.client.shaded.com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of com.spotify.docker.client.messages.RegistryAuth: no String-argument constructor/factory method to […]