我正面临着一个恼人的问题,希望有人能给我一个提示。
我写了一个Spring应用程序,它在本地运行(不是在Docker中),然后我有Kafka和Docker容器中的动物园管理员。通讯运作得很好。
现在,我修改了Spring应用程序,当我尝试从主机上调用它(http://localhost:8080/kafka/health-check)时,我得到了404。
Java类:
@org.springframework.web.bind.annotation.RestController
@RequestMapping("kafka")
public class RestController {
(...)
@GetMapping("health-check")
public ResponseEntity<Object> healtCheck() {
return ResponseEntity.ok().build();
}
}Docker文件公开端口:
FROM openjdk:11
EXPOSE 8080
ADD target/spring-boot-kafka-producer-example-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]码头工人也是这样:
services:
zookeper:
image: wurstmeister/zookeeper
container_name: zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka
container_name: kafka
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: localhost
# Connect to Zookeper
KAFKA_ZOOKEEPER_CONNECT: zookeper:2181
spring-boot-app:
image: spring-boot-app
container_name: spring-boot-app
ports:
- "8080:8080"即使当我跑步的时候,我仍然能得到404:
docker exec -it spring-boot-app curl spring-boot-app:8080/kafka/health-check我既不能从Docker外部调用API,也不能在Docker容器中调用API,所以我肯定在某个地方遗漏了一些小东西。
发布于 2021-10-15 12:33:51
问题是这个罐子不是最新的。出于某种原因,IntelliJ会执行应用程序,但不会生成jar。运行mvn clean install解决了这个问题
https://stackoverflow.com/questions/69582750
复制相似问题