Tag: 春季启动

SpringBoot与Tomcat使用大约190mb的内存。 什么过程在Springboot中运行?

我正在SpringBoot上运行一个应用程序,该应用程序在Docker容器中包含一个embedded式Tomcat。 我已经给了我的最大堆大小为64MB。 不过,我看到总的内存消耗约为190MB。 如果我尝试启动内存限制为128mb的容器,容器将无法启动。 还有哪些其他进程将与tomcat和app一起运行? 如何知道哪个进程正在消耗内存?

如何从rabbitmq docker的spring-boot中创buildrabbitmq队列

我已经失去了一整天的时间来试图获得spring-amqp示例项目,并运行在dockm版本的rabbitmq上。 我只是运行标准的rabbitmq docker。 虽然我没有任何连接问题,但是我总是会得到有关创build队列的exception,而且我尝试了所有可能的变体。 我试图只是在我的configuration中像示例项目一样声明队列。 我已经尝试明确configuration一个RabbitAdmin。 我已经尝试明确configuration整个自动configuration混乱。 我已经在rabbitmq中创build了一个新用户,并且明确赋予了权限。 我试过只使用队列名称,而没有实际声明队列bean。 我已经尝试将队列和RabbitAdmin注入其他bean,以强制它们被创build。 不pipe我尝试什么,我得到以下错误: 2017-04-24 17:42:19.709 WARN 37360 — [cTaskExecutor-1] osarlistener.BlockingQueueConsumer : Failed to declare queue:"incoming" 2017-04-24 17:42:19.715 WARN 37360 — [cTaskExecutor-1] osarlistener.BlockingQueueConsumer : Queue declaration failed; retries left=3 org.springframework.amqp.rabbit.listener.BlockingQueueConsumer$DeclarationException: Failed to declare queue(s):["incoming"] at org.springframework.amqp.rabbit.listener.BlockingQueueConsumer.attemptPassiveDeclarations(BlockingQueueConsumer.java:621) ~[spring-rabbit-1.7.1.RELEASE.jar:na] at org.springframework.amqp.rabbit.listener.BlockingQueueConsumer.start(BlockingQueueConsumer.java:520) ~[spring-rabbit-1.7.1.RELEASE.jar:na] at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1382) [spring-rabbit-1.7.1.RELEASE.jar:na] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121] Caused by: […]

docker集装箱内的春季启动应用程序位置

是否有可能在Docker容器中看到部署的spring-boot jar内容(文件)。 如果是的话,位置在哪里。 我连接使用docker exec -it container /bin/bash ,虽然找不到文件。

docker-compose – 外部化spring application.properties

我有一个弹簧启动应用程序,连接到mongo数据库,并与泊坞窗部署应用程序。 我正在使用这个docker-compose.yml文件,它工作正常: version: '2' services: db: container_name: app-db image: mongo volumes: – /data/db:/data/db ports: – 27017:27017 web: container_name: spring-app image: spring-app depends_on: – db environment: SPRING_DATA_MONGODB_URI: mongodb://db:27017/appDB SPRING_DATA_MONGODB_HOST: db ports: – 8080:8080 目前,该应用程序正在使用embedded在Spring应用程序泊坞窗图像(spring-app)中的application.properties文件。 如何使用docker-compose外部化/传入application.properties文件? 感谢您的帮助

Docker-compose不会为spring启动应用程序生成日志文件

我们开发了一个在spring boot上开发了多个微服务的项目。我们使用的是docker container和docker-compose。我们在生成应用程序日志文件时遇到了问题。我们已经在application.yml文件中写了如下configuration。 日志logging:file:/data/test/run/logs/x.log 在生成图像后,如果我们独立启动一个容器(使用docker run imageName),将会在容器中生成日志文件。但是当我们使用docker-compose(docker-compose)构build相同的图像时,容器中不会生成日志文件。 泊坞窗,compose.yml version: '2' services: lb: image: dockercloud/haproxy links: – x-service volumes: – /var/run/docker.sock:/var/run/docker.sock ports: – "80:80" – "1936:1936" eureka-service: image: xycom/registration-server:0.0.2 ports: – "2323:2323" environment: – APPBINARY=registration-server.jar entrypoint: – /usr/bin/jarrun.sh – QA x-service: image: xycom/x-service:0.2.7 ports: – "4444" links: – eureka-service environment: – JAVA_OPTS=-Xms512M -Xmx1024M – VIRTUAL_HOST=*/x/* – […]

在AWS上的Docker中Spring引导logging系统出现内存泄漏?

我有一个在AWS中快速运行的Dockerised Spring Boot应用程序,并configuration了awslogs驱动程序,以将日志条目stream式传输到CloudWatch。 我的应用程序被configuration为login到系统,我假定awslogs驱动程序正在监听日志条目。 但是,如果我的服务是长期运行的日志(系统出)有效的内存泄漏? 如果是这样,我更好地login到旋转文件,并以某种方式configurationawslogs从这些文件中读取? (后一种情况的文档指针将不胜感激。)

Docker尤里卡UnknownHostException

即时通讯试图做dockerized springboot应用程序的微服务架构。 对于内部通信,我想使用Eureka + FeignClient。 与尤里卡的注册工作正常(afaik): <application> <name>CAREER-SERVICE</name> <instance> <instanceId>4b62546fdc9b:career-service:7000</instanceId> <hostName>172.18.0.15</hostName> <app>CAREER-SERVICE</app> <ipAddr>172.18.0.15</ipAddr> <status>UP</status> <overriddenstatus>UNKNOWN</overriddenstatus> <port enabled="true">7000</port> <securePort enabled="false">443</securePort> <countryId>1</countryId> <dataCenterInfo class="com.netflix.appinfo.InstanceInfo$DefaultDataCenterInfo"> <name>MyOwn</name> </dataCenterInfo> <leaseInfo> <renewalIntervalInSecs>30</renewalIntervalInSecs> <durationInSecs>90</durationInSecs> <registrationTimestamp>1497345551521</registrationTimestamp> <lastRenewalTimestamp>1497347501260</lastRenewalTimestamp> <evictionTimestamp>0</evictionTimestamp> <serviceUpTimestamp>1497345550971</serviceUpTimestamp> </leaseInfo> <metadata class="java.util.Collections$EmptyMap"/> <homePageUrl>http://172.18.0.15:7000/</homePageUrl> <statusPageUrl>http://172.18.0.15:7000/info</statusPageUrl> <healthCheckUrl>http://172.18.0.15:7000/health</healthCheckUrl> <vipAddress>career-service</vipAddress> <secureVipAddress>career-service</secureVipAddress> <isCoordinatingDiscoveryServer>false</isCoordinatingDiscoveryServer> <lastUpdatedTimestamp>1497345551521</lastUpdatedTimestamp> <lastDirtyTimestamp>1497345550555</lastDirtyTimestamp> <actionType>ADDED</actionType> </instance> </application> <application> <name>AUTH-SERVICE</name> <instance> <instanceId>5ecc30b0fcd1:auth-service:5000</instanceId> <hostName>172.18.0.11</hostName> <app>AUTH-SERVICE</app> <ipAddr>172.18.0.11</ipAddr> <status>UP</status> <overriddenstatus>UNKNOWN</overriddenstatus> <port […]

两个用户在Docker中

我试图在OpenJDK / Alpine基本映像中运行我的Spring Boot应用程序,并使用Docker的两个用户。 这是我想要支持的场景。 也许有更好的办法。 我需要提供生产支持,所以我想以devuser:appgroup作为devuser:appgroup附加,但我不允许我们的安全部门查看证书或机密,因此应用程序应该以appuser:appgroup运行,它也拥有所有的应用程序文件。 我可以用正确的(?)权限构build图像。 /opt/app $ ls -l total 24552 -r-sr-xr-x 1 appuser appgroup 10632 Jun 27 12:59 app -r——– 1 appuser appgroup 25101769 Jun 27 12:59 app.jar -r-xr-xr– 1 appuser appgroup 327 Jun 27 12:59 app.sh -r——– 1 appuser appgroup 316 Jun 27 12:59 application.yml -r-sr-xr-x 1 root root 10632 […]

Docker镜像和数据库服务器集成

我们正在使用Docker映像进行Spring Boot Rest服务。 目前的设置在生产中工作正常。 我们想在开发环境中使用类似的设置。 春季启动图像需要连接到数据库。 在这一点上,我们有几个选项: 有一个集中的数据库服务器,并从每个开发计算机的所有docker图像连接到它。 创build一个单独的数据库映像,并让开发人员在同一个开发计算机上与Spring引导映像一起运行。 选项#1更容易实现,但是如果数据库有变化,它可能会影响组织中的整个开发团体,选项2减轻了这种风险,但是它产生了DataSync的问题,即当有人启动这两个图像时,确保它具有所有必需的数据。 我想知道是否有其他的select,我需要考虑或给这两个选项,这是有道理的?

docker工中的spring启动应用程序立即终止

试图在docker中运行的简单的spring启动应用程序,然而在docker运行之后,立即退出。 这是我的Dockerfile FROM anapsix/alpine-java:latest VOLUME /tmp RUN mkdir -p /opt/app ADD app.jar /opt/app/app.jar EXPOSE 8080 ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/opt/app/app.jar"] Docker运行命令 docker run -t -p 8080:8080 –name app -d app 在容器日志中,唯一的输出是spring横幅,然后容器终止。 我在这里错过了什么。