Tag: spring

Spring Boot Scheduled任务在Docker容器上不工作

我的Docker容器上运行的Spring Boot项目有问题。 计划任务不工作,如果我运行容器作为demonized(docker运行-D )。 当我在后台运行图像非工作。 不幸的是,我必须把它运行成魔鬼,我不知道如何解决这个问题。 感谢您的任何解决scheme:) 我的计划注释: @Scheduled(fixedDelay = 1440000) 这是我的Dockerfile: FROM java:openjdk-8 ENV SPRING_PROFILES_ACTIVE dev,docker WORKDIR /app EXPOSE 9000 9000 RUN apt-get update && apt-get -y install cron RUN service cron start COPY build/libs/app.jar /app/app.jar CMD ["/bin/sh", "-c", "java -jar /app/app.jar –spring.profiles.active=$SPRING_PROFILES_ACTIVE"]

在Docker中,Spring Boot集成testing失败,但不在外面

也许有人可以帮助我。 我有一个用gradle执行的一些集成testing,如果在Windows主机(java oracle)或ubuntu(java oracle)vm中执行,它们都是绿色的。 testing1(testing阻塞15分钟): @RunWith(SpringRunner.class) @SpringBootTest( classes = {CustomerApplication.class, NoSecurityConfig.class}, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @ActiveProfiles("test") @DirtiesContext public class UserProcessorsTest { private static final String EMAIL_ADDRESS = "example@gmail.com"; private static final String FIRST_NAME = "foo"; private static final String LAST_NAME = "bar"; @Autowired private UserChannel userChannel; @Autowired private CustomerChannel customerChannel; @Autowired private MessageCollector messageCollector; @MockBean private […]

在docker集装箱尤里卡:未知的主机例外

我试图启动尤里卡服务器通过docker容器上的春季启动,并得到以下exception“unknownhostexception”。 现在在eureka config.properties文件中,我使用hostname作为本地主机,但是exception显示它以某种方式使用容器的主机名,而不是使用我在eureka属性文件中定义的主机名。 而且,即使使用容器定义的主机名,它也能正确parsing容器,并且在/ etc / hosts中有入口。 注意 : 这只有在使用oracle java 7/8时才是可重现的,但是在openjdk 7中可以正常工作。任何线索可能是这里的问题。 已尝试在eureka属性中使用localhost的127.0.0.1,但没有成功。 尤里卡configuration文件内容: # Configure this Discovery Server eureka: instance: hostname: localhost client: # Not a client, don't register with yourself registerWithEureka: false fetchRegistry: false server: port: 1111 # HTTP (Tomcat) port exception堆栈跟踪: 2016-01-11 20:04:54 INFO RegistrationServer:47 – Starting RegistrationServer v0.0.1-SNAPSHOT with PID […]

Docker MongoDB无法从外部虚拟机访问

我是docker工人,我正在学习一个教程,将微服务(使用Spring启动)和docker结合在一起: http : //www.3pillarglobal.com/insights/building-a-microservice-architecture-with-spring-boot-and -docker-part-iii 。 我的应用程序(服务器不作为docker容器运行)能够将数据存储在MongoDB中(作为docker容器运行)。 当我使用邮递员向我的应用程序(rest)发出请求时,我应该得到一个json作为返回值,但是不会发生(我得到的状态码为'200'),对于每个MongoDB UI都有同样的事情: 当我在MongoDB容器中打开一个shell并查询我的数据库时,它显示我的集合中有数据: 有人可以请解释我做错了什么,或者我可以如何允许从我的主机环境访问? 更新: 我忘了为我的pojo对象实现getter和setter方法。 我现在得到邮递员的正确答复。 还有一个问题,我仍然无法查看robomongo(MongoDB UI)中的数据, docker工人ps:

如何使用docker-compose.yml在Docker上运行Redis?

发现了一个正式的Spring教程,讲述了使用Redis的keystore开发的应用程序,但对Docker几乎一无所知,并不想真正了解它。 该应用程序的源代码包含docker-compose.yml文件,其中包含多个面向Redis的设置,而Spring文档则是这样说的: 在Github的源代码中有一个docker-compose.yml文件,你可以很容易地在docker-compose上的命令行上运行。 但是,似乎并不那么容易,Docker文档太复杂了。 已经安装了Docker并在那里部署了Redis: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 81cbeeb08153 redis "docker-entrypoint.sh" 22 hours ago Up 21 minutes 6379/tcp Server docker-compose.yml redis: image: redis ports: – "6379:6379" 下一步是什么? 如何在Docker Redis中导入? 我试图在Windows机器上启动Redis,让我的简单的本地主机应用程序终于工作。

在Docker镜像中更新jar

我正在用下面的文件构build一个Docker镜像。 这是一个简单的Spring Boot应用程序。 当我更新Spring项目时,我正在重build图像以获取更新的图像。 然而,这是创造一个全新的形象,完全重新推到整个回购(700 + MB)。 我如何更新现有的图像,包括最新更新的jar而不是一个全新的图像,所以我不必推高700 + MB只是为了更新Spring应用程序? 这是我目前使用的dockerfile: FROM java:8 EXPOSE 8080 VOLUME /tmp ADD app-name.1.0.jar app.jar RUN bash -c 'touch /app.jar' ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","app.jar"] 注意:当我运行docker attach命令时,它只是坐在那里,什么都不做。

Java Spring Hibernate应用程序在本地运行,但不在aws的ecs docker中运行

亲爱的Java和Docker大师们, 你有遇到拔出头发的问题吗? 尝试这个: 我有一个Java的Spring Hibernate的Web应用程序,可以在我的本地通过Gradle构build成功运行。 IT使用Oracle JDK 1.8.0_101进行编译。 它在Tomcat 7.0.72下运行(而Tomcat在JDK 1.8.0_102上运行Open)。 它完美地运行着这场战争。 为什么我有这样不同的jdk版本? 因为我想模仿下面的开发服务器。 我的Dev服务器是aws ecs下的docker,只有一个容器映像。 而这个容器的图片使用了tomcat:7.0.72-jre8的图片库。 在容器中运行相同的应用程序将引发以下错误: 创build名称为“agencyRepository”的bean时出错:init方法的调用失败; 嵌套exception是java.lang.IllegalArgumentException:不是托pipetypes:class com.mnetmobile.data.entities.Agency 我拖动那个战争文件,并运行在我的本地,它像一个冠军。 所有的JDK版本都是一样的,tomcat版本是一样的。 唯一不同的是,一个Windows 7笔记本电脑,与Ubuntu的Linux和运行docker。 (所有不同的path都是N / A,因为都有相对path) 任何想法,我可能错过了哪个洞?

为什么部署在Docker容器上的Spring云Netflix应用程序需要明确设置eureka.instance.hostname?

一个简单的场景: 2个尤里卡服务器( http:// archimedes1 http:// archimedes2 ) 1configuration服务器 1 Zull网关 1商业微服务 部署在本地一切都按预期工作。 我dockerized他们运行在每个应用程序的个别容器,并在Windows上的Dockertesting。 我在部署(config server,zull和b-ms)后看到的是,如果我没有为每个人指定eureka.instance.hostname ,他们会在Eureka服务器中注册一个无效的URL 。 这使得他们无法互相呼叫,因为他们得到无效的URL。 例如: CONFIGSERVER n/a (1) (1) UP (1) – 287dd3ada410:configserver:8888 287dd3ada410:configserver:8888点在287dd3ada410:8888/info 。 而这并不存在。 要解决这个问题,我必须添加到configserver的application.yml(和其他应用程序的等价物): eureka: instance: hostname: config-server 现在它显示在这个尤里卡: CONFIGSERVER n/a (1) (1) UP (1) – c99cdfe9bd01:configserver:8888 和c99cdfe9bd01:configserver:8888指向http://config-server:8888/info ,现在可以正确parsingconfiguration服务器。 为什么有必要为每个服务使用eureka.instance.hostname ? 为什么不注册与他们的IP:端口运行时没有Docker( c99cdfe9bd01:configserver:8888 -> 192.168.99.100:8888 )?

使用MySQL与Spring启动泊坞窗图像

我有这个问题,我不能真正find解决scheme。 我在digitalocean上有1GB的液滴(Ubuntu),我使用这个页面安装了mysql。 我loginmysql控制台,导入我的数据库,创build一个具有所需权限的新用户。 这一切都很好,直到这一点。 我用Docker集线器从Docker集线器中取出了Docker镜像: docker run –rm -p 80:80 my-username/image-name 它第一次下载,并开始我的春季启动应用程序,但我得到这个例外,每次我尝试运行我的形象。 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 packets from the server. …. …. Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: […]

使用Kafka代理的Dockerized Spring Cloud Stream服务无法连接到Zookeeper

我正在使用一个源和一个接收器服务testing一个示例Spring云stream应用程序(运行在Ubuntu Linux机器上)。 我的所有服务都是docker集装箱,我想用卡夫卡作为邮件经纪人。 在docker-compose.yml的相关部分下面: zookeeper: image: confluent/zookeeper container_name: zookeeper ports: – "2181:2181" kafka: image: wurstmeister/kafka:0.9.0.0-1 container_name: kafka ports: – "9092:9092" links: – zookeeper:zk environment: – KAFKA_ADVERTISED_HOST_NAME=192.168.33.101 – KAFKA_ADVERTISED_PORT=9092 – KAFKA_DELETE_TOPIC_ENABLE=true – KAFKA_LOG_RETENTION_HOURS=1 – KAFKA_MESSAGE_MAX_BYTES=10000000 – KAFKA_REPLICA_FETCH_MAX_BYTES=10000000 – KAFKA_GROUP_MAX_SESSION_TIMEOUT_MS=60000 – KAFKA_NUM_PARTITIONS=2 – KAFKA_DELETE_RETENTION_MS=1000 . . . # not shown: eureka service registry, spring cloud config service, […]