在 Docker 容器中运行时,Spring Boot 不会读取应用程序属性。
我的应用程序.yml
server:
port: 8080
context-path: /mail
custom:
greeting: Hello YML
Run Code Online (Sandbox Code Playgroud)
文件
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
Run Code Online (Sandbox Code Playgroud)
和一个简单的ApplicationController
@RestController
public class ApplicationController {
private final Environment environment;
@Autowired
public ApplicationController(Environment environment) {
this.environment = environment;
}
@RequestMapping(path = "/")
public Hello hello() {
final Hello hello = new Hello();
hello.setGreeting(environment.getProperty("custom.greeting"));
return hello;
} …Run Code Online (Sandbox Code Playgroud)