Tag: spring

dockercloud haproxy在不同的端口上有多个服务

是否有可能configurationdockercloud / haproxy与多个后端服务,但在不同的端口上侦听? 我试图得到一个docker-composeconfiguration工作与端口80上的nginx为Web前端,然后在8080运行Spring Boot应用程序的容器。 默认情况下,haproxy显示web和addressbook的链接容器(参见下面的.yml文件),但是默认情况下,它们都是通过happroxy在端口80上公开的,所以Spring Boot容器从不接收8080上的stream量。 这是可能的configuration,还是我需要运行2个不同的haproxy容器,一个用于web,另一个用于REST后端服务? 这是我的docker-compose.yml到目前为止: version: '2' #build: # context: ./haproxy # image: haproxy # dockerfile: Dockerfile services: mongodata: image: mongo:3.2 volumes: – /data/db entrypoint: /bin/bash mongo: image: mongo:3.2 depends_on: – mongodata volumes_from: – mongodata ports: #only specify internal port, not external, so we can scale with docker-compose scale – "27017" […]

java.lang.NoClassDefFoundError:多次使用程序后发生

我有一个从Docker容器运行的服务,它运行了大约一个小时左右,然后突然抛出一个java.lang.NoClassDefFoundError。 看完这些错误之后,它似乎在初始化中经常出现问题,但是我的服务一开始就运行良好 – 包括使用突然找不到的类! 事实上,这个特定的类需要被初始化,以便服务正确启动。 这是一个在Spring上运行的multithreading应用程序。 一个class上课后失踪的原因是什么?

Spring Boot无法读取Docker中的application.properties

在Docker容器中运行时,Spring Boot不会读取应用程序属性。 我的application.yml server: port: 8080 context-path: /mail custom: greeting: Hello YML Dockerfile FROM java:8-jre VOLUME /tmp COPY ./mail.jar /app/mail.jar RUN sh -c 'touch /app/mail.jar' ENV JAVA_OPTS="" ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app/mail.jar" ] EXPOSE 8080 还有一个简单的ApplicationController @RestController public class ApplicationController { private final Environment environment; @Autowired public ApplicationController(Environment environment) { this.environment […]

Docker Swarm CPU使用Spring Boot容器部署过载

我已经创build了一些Spring Boot应用程序,它们都像隔离魔术一样工作,或者手动启动另一个应用程序。 我的挑战是我想要在Docker Swarm中部署一个包含所有服务的堆栈。 起初我不明白发生了什么事情,因为好像所有的容器都挂了。 结果发现运行一个Spring Boot应用程序激发了我的CPU利用率,使其达到最佳状态好几秒钟(启动20s +)。 现在的问题是,Docker Swarm同时启动了10个这样的容器,我的负载平均值高于80,系统崩溃了。 容器HEALTHCHECKS开始超时,最终Docker重新启动它们。 这是一个无休止的循环,可能会或可能不会稳定,如果稳定,至less需要30分钟。 微服务与大胖Java EE应用程序 有什么方法可以说服Docker逐一推出容器吗? 我相信这会有很大帮助。 有一个滚动的更新参数 – https://docs.docker.com/engine/swarm/swarm-tutorial/rolling-update/ – 但似乎不适用于启动部署。 对你的帮助表示感谢。 我也试过systemd(这对于分布式微服务来说并不理想)。 它比Docker稍微好一些,但同时部署所有应用程序时也会遇到同样的问题。 最初我想尝试Kubernetes,但是我的盘子已经够用了,如果我可以摆脱Docker Swarm,那将会很棒。 谢谢!

未能执行目标com.spotify:docker-maven-plugin:0.4.3:构buildexception捕获:HttpHostConnectException:连接到本地主机:2375

使用docker部署Spring Cloud项目,在pom.xml部分代码: <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!– tag::plugin[] –> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.3</version> <configuration> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <dockerDirectory>${project.basedir}</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> <!– end::plugin[] –> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skipTests>true</skipTests> </configuration> </plugin> </plugins> </build> 当我运行命令: mvn package docker:build ,它会引发错误: [INFO] ———————————————————————— [ERROR] Failed to execute goal com.spotify:docker-maven-plugin:0.4.3:build (default) on project […]

在Docker Swarm中创build一个networking

我有一个连接到postgres的java spring的web应用程序。 Сonnectionstring到数据库: spring.datasource.url=jdbc:postgresql://postgres:5432/postgres 有一个组合文件引发了Web应用程序和数据库: version: "3" services: postgres: networks: – backend image: postgres ports: – "5432:5432" volumes: – db-data:/var/lib/postgresql/data worker1: networks: – backend image: scripter51/worker ports: – "8082:8082" deploy: mode: replicated replicas: 2 placement: constraints: [node.role == worker] networks: backend: volumes: db-data: 命令docker stack deploy –compose-file comp.yml test的机器上的公共服务docker stack deploy –compose-file comp.yml test 问题:如果数据库和Web应用程序在同一台计算机上 […]

docker的spring云hystrix涡轮amqp连接拒绝

我已经build立了基于Spring Cloud和Netflix OSS套件的演示应用程序。 当我运行所有的模块时,应用程序在我的本地开发环境以及Pivotal Web服务中运行得非常好。 我遇到的问题是当我configuration模块在docker中运行。 当我启动一个依赖于Hystrix / Turbine的RabbitMQ的应用程序时,我得到了AMQP连接exception。 2015-07-30 15:32:15.567 WARN 1 — [askExecutor-262] osarlSimpleMessageListenerContainer : Consumer raised exception, processing can restart if the connection factory supports it. Exception summary: org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused 我在Docker中使用以下configuration启动rabbitmq: docker run -d –hostname rabbitmq –name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management 我可以在浏览器中无需访问pipe理端口。 当我启动Docker中的一个依赖项目时,我使用docker链接参数指定rabbitmq: –link rabbitmq:rabbitmq 有什么想法在这里失踪?

使用gradle-docker-plugin将docker服务器IP设置为环境variables

我参考了Benjamin Muschko的Gradle-Docker插件 。 我使用Mac OS X,但我的一些同事使用Linux。 我想find一种方法来使用上面的插件来检索docker服务器IP,并将其设置为我的Spring Boot应用程序使用的环境variables。 我可以通过发出一个docker-machine ip <machineName>来手工完成,但是我需要通过gradle以编程的方式来完成这个工作,以便我可以从gradle运行我的应用程序,它将: 检索docker服务器IP 将其设置为一个envvariables(例如$DOCKER_IP ) 然后,我的Spring Boot应用程序将使用该variables连接到Docker主机上的Mysql和Elasticsearch 。 这是可能的以通用的方式做到这一点,以便它可以在Mac OS X 和 Linux下工作?

如何在撰写文件版本2中使用docker卷容器(挂载主机目录)

在撰写文件版本1中,我的docker-compose.yml是: mongo: image: mongo volumes_from: – mongodata mongodata: image: mongo volumes: – /home/dbdata/mongodb:/data/db 在本地主机“/ home / dbdata / mongodb”,我保存了一些数据。 它可以通过mongo容器读取。 但我不知道如何更新来组成文件版本2 。 我已经更新docker和docker组成最新的。 Docker version 1.10.2, build c3959b1 docker-compose version 1.6.2, build 4d72027 OS: ubuntu 15.10 我尝试了三种方法,但没有工作。 一:撰写文件是: version: '2' services: mongo: image: mongo volumes_from: – mongodata networks: – wfij mongodata: image: mongo volumes: – […]

validationdocker化的Spring Boot应用程序对docker化和链接的ActiveMQ

我开始我的activemq容器,如下所示: docker run -p 61616:61616 -p 8161:8161 –name='activemq' -d \ -e 'ACTIVEMQ_LOGLEVEL=DEBUG' \ -e 'ACTIVEMQ_ADMIN_USER=bot' \ -e 'ACTIVEMQ_ADMIN_PASSWORD=blahblah' \ -e 'ACTIVEMQ_OWNER_LOGIN=bot' \ -e 'ACTIVEMQ_OWNER_PASSWORD=blahblah' \ -e 'ACTIVEMQ_JMX_LOGIN=bot' \ -e 'ACTIVEMQ_JMX_PASSWORD=blahblah' \ -v /data/activemq:/data/activemq \ -v /var/log/activemq:/var/log/activemq \ webcenter/activemq:latest 我的应用程序的application.yml具有以下内容: spring: activemq: broker-url: ${ACTIVEMQ_PORT_61616_TCP} user: bot password: blahblah 我开始我的应用程序容器像这样: docker run –name='myapp' \ -w /app/ -v […]