Tag: spring

春季启动dockerized应用程序之间的沟通

我新使用春季启动和docker,我面临运行docker集装箱的问题。 在debugging模式下,应用程序启动时没有问题,但是当我将它们作为容器运行时,出现错误。 例如,我有我的服务器configuration与所有的YML文件,也尤里卡属性。 configuration服务器启动完美,但不是尤里卡服务器,它必须find它的configuration服务器的configuration,因为这些: uri: ${vcap.services.config-service.credentials.uri:http://127.0.0.1:8888} 在尤里卡的日志中,我可以find: 无法findPropertySource:“ http://127.0.0.1:8888/server-eureka/default ”的GET请求上的I / O错误:连接被拒绝; 嵌套的exception是java.net.ConnectException:连接被拒绝 所以我看到,尤里卡不能t connect to the config server for a reason I can understund。 也许我错过了我的docker文件中的东西。

Spring客户端连接被docker和gradle拒绝

我在Docker上用eureka构build了一个spring-server和一个spring-client,我尝试将客户端连接到服务器。 当我尝试在我的build.gradle : docker { maintainer = 'Me' baseImage = 'java:8' } distDocker { exposePort 8080 setEnvironment 'JAVA_OPTS', '-Dspring.profiles.active=docker' } 一切正常。 但是我想使用我写的Dockerfile ,所以我使用buildDocker而不是distDocker ,我这样使用它: task buildDocker(type: Docker, dependsOn: build) { dockerfile = file('src/main/docker/Dockerfile') doFirst { copy { from jar into stageDir } } } 与此Dockerfile : FROM java:8 ADD myjar-1.0.jar app.jar EXPOSE 8080 ENTRYPOINT ["java", […]

Bluemix Docker容器部署导致“无路由到主机”

我们正在使用这个命令部署docker-image: cf ic run -p 8080 -m 512 -e SPRING_PROFILES_ACTIVE=test -e logging.config=classpath:logback-docker-test.xml –name <container-name> registry.eu-gb.bluemix.net/<repository_name>/<container-name>:latest 在那个容器中,我们开始使用连接池提供程序的Java8 Spring-Boot应用程序。 连接池提供程序连接到可在标准端口上访问的现有PostgreSQL数据库。 我们不使用任何域名连接到PostgreSQL数据库。 我们只使用IP地址和标准的postgresql端口。 部署工作在使用标准Docker容器守护进程的机器上,同时也在Amazon WebServices(AWS)上工作,没有任何问题,并使用相同的部署机制。 但是,如果我们将映像部署到Bluemix-Container-Service,则在启动Spring引导应用程序时会出现以下错误: Caused by: java.net.NoRouteToHostException: No route to host at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at org.postgresql.core.PGStream.<init>(PGStream.java:61) at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:129) at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:65) at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:146) at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:35) at org.postgresql.jdbc3g.AbstractJdbc3gConnection.<init>(AbstractJdbc3gConnection.java:22) […]

Dockerizing Spring应用程序

我有一个使用Spring框架+ AngularJs前端工作的应用程序。 我以前只需将mvn package到.war文件中,就可以将其部署到亚马逊AWS上。 现在我需要在docker中设置一个linux env来debugging一些额外的function(使用windows作为主操作系统),最好在将来部署这个docker容器。 我看过一些关于Docker化Spring Boot应用程序的文章。 这是spring.io的示例dockerfile FROM frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD gs-spring-boot-docker-0.1.0.jar app.jar RUN sh -c 'touch /app.jar' ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] 我的问题是 – 如何在Docker容器上运行我的.war文件 ?

Docker群体部署需要时间并导致容器终止服务

我一直在试验docker。 作为它的一部分,我一直在使用一个简单的弹簧启动应用程序, https://github.com/siva54/simpleusercontrol 当我在一个简单的Docker容器中运行应用程序时,我看到应用程序日志显示下面的行, 2017-07-03 02:27:25.388 INFO 5 — [ost-startStop-1] osweb.context.ContextLoader:根WebApplicationContext:初始化在4963 ms完成 但是当我用docker swarm运行同样的东西时,应用程序占用的时间更长, 2017-07-03 00:32:56.483信息5 — [ost-startStop-1] osweb.context.ContextLoader:根WebApplicationContext:初始化在48699 ms完成 此外,应用程序不启动,而是在日志(docker日志<>),我看到看到一个string值“Killed”。 我猜这可能是由于大量的时间,可能是docker上的超时设置可能会杀死服务。 任何人都可以请帮助我设置超时或修复应用程序,以便不占用大量的时间。 请查看下面的链接了解更多信息, Docker版本:Docker版本17.06.0-ce,build 02c1d87 Dockerfile( https://github.com/siva54/simpleusercontrol/blob/master/Dockerfile ) Docker撰写( https://github.com/siva54/simpleusercontrol/blob/master/docker-compose.yml ) 如果有人想用我的应用程序进行试验,可以使用“siva54 / simpleusercontrol”来拉取图像。 如果你可以启动应用程序,并find链接(本地主机:8080 / swagger-ui.html#/)为你工作,这应该是工作。 下面是用来运行群, 初始化群 docker群初始化 运行应用程序 docker堆栈部署-c docker-compose.yml app1 以下是用于运行没有群, docker运行siva54 / simpleusercontrol 所有这些都是在使用stream浪者创build的图像上完成的。

Docker与Zookeeper,Kafka,Redis和Java Spring Boot组合

我很难用Docker Compose将这些容器连接在一起,让我先说一下,我现在也在Mac上运行。 该应用程序目前正在使用Docker Compose,因为如果我单独运行这些应用程序(而不是使用Docker),应用程序将按预期工作。 按照预期意味着,应用程序正在从Redis中读取数据,并且将某些Kafka主题中的数据提取出来并显示在前端。 谈到我认为是必要的文件。 docker-compose.yml version: '2' services: zookeeper: image: wurstmeister/zookeeper ports: – "2181:2181" kafka: image: wurstmeister/kafka:0.10.2.0 ports: – "9092:9092" environment: KAFKA_ADVERTISED_HOST_NAME: localhost KAFKA_CREATE_TOPICS: "flight-events:1:1,reported-flight-time-events:1:1,pax-flight-events:1:1" KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 volumes: – /var/run/docker.sock:/var/run/docker.sock depends_on: – zookeeper redis: image: redis ports: – "6379" restart: always kafka-websocket-connector: build: ./kafka-websocket-connector image: <user>/kafka-websocket-connector ports: – "8077:8077" depends_on: – kafka – […]

连接被拒绝:访问运行在docker容器中的spring引导应用程序

我有我的春季启动应用程序和MySQL数据库运行在不同的docker容器。 我能够从我的主机访问服务器数据库。 Spring应用程序的application.properties如下所示: spring.datasource.url=jdbc:mysql://benefitsmysql:3308/benefitsmysql spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.jpa.show-sql=true spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect # ==================================================================================== # = SSL Configuration # ==================================================================================== #security.basic.enabled=false server.port=8443 server.ssl.key-store=keystore.jks server.ssl.key-store-password=******* server.ssl.keyStoreType=jks server.ssl.keyAlias=tomcatselfsigned 我正在通过使用docker的maven插件来构builddocker容器的图像。 我的Dockerfile如下所示: FROM java:8 VOLUME /tmp ADD Benefits.jar Benefits.jar EXPOSE 8443 RUN bash -c 'touch /Benefits.jar' ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/Benefits.jar"] 我开始像下面的春季启动应用程序的docker容器: docker run -p 8443:8443 –name benefits –link benefitsmysql:mysql -d c794a4d0c634 如果我做docker ps -a […]

如何在docker中为IP地址注册服务而不是在容器Id中使用spring-cloud服务?

我试图设置eureka.instance.hostname,preferIpAddress,ipAddress,instanceId,但实例ID仍然是docker容器ID。 我如何将它们设置为IP地址? eureka: instance: hostname: ${server.host} preferIpAddress: true ipAddress: ${server.host} instanceId: ${server.host} client: serviceUrl: defaultZone: http://pitbull:j1n3v9z9j3nc@${server.remote}:8888/eureka/

与MySQL容器春季启动应用程序工作,但与春季启动应用程序容器它不

我试图运行一个docker容器内的一个spring启动应用程序,链接到docker的MySQL容器。 当我尝试运行与弹簧启动应用程序里面的docker容器我收到以下错误: 017-12-21 14:13:12,587 INFO [localhost-startStop-1] VersionPrinter : Flyway 4.2.0 by Boxfuse 2017-12-21 14:13:12,590 INFO [localhost-startStop-1] HikariDataSource : HikariPool-1 – Starting… 2017-12-21 14:13:13,913 ERROR [localhost-startStop-1] HikariPool : HikariPool-1 – Exception during pool initialization. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any […]

Dockerize我的春季启动应用程序,而不使用Maven构build图像

我想通过docker容器服务我的春季启动应用程序,而设置,它需要maven插件(fabric8)build立一个容器的docker图像,我不明白, 为什么需要maven来build立一个图像(甚至春季启动官方文档build议这样做https://spring.io/guides/gs/spring-boot-docker/ ) 是否有任何最佳做法dockerize我的春季启动应用程序? 请帮助我,预先感谢