我的 docker 文件面临一个问题。图像构建成功,但在运行时出现错误,因为我在运行命令中设置的活动配置文件没有反映。
# Get java
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR
COPY ${JAR} app.jar
EXPOSE 8080
ENV severn_js_key=1234qasw
ENTRYPOINT ["java", "-jar", "app.jar"]
Run Code Online (Sandbox Code Playgroud)
我的运行命令是这样的
sudo docker run -e SPRING_PROFILES_ACTIVE=dev -p 8088:80 -t tws-apps/service:1.0.0-SNAPSHOT
Run Code Online (Sandbox Code Playgroud)
执行此语句时,我在服务器日志中收到空指针异常
String environment = System.getProperty("spring.profiles.active");
switch (environment) {
Run Code Online (Sandbox Code Playgroud)
请帮忙
我正在使用以下配置创建一个 docker 图像。图像准备好后,我想将 JAVA_OPTS 传递给我的 docker 容器,以便它可以传递给我的 Spring Boot 应用程序。每当我尝试启动容器时,我都会收到“运行时创建失败:container_linux.go:348:启动容器进程导致”exec:\“java $JAVA_OPTS\”:在 $PATH 中找不到可执行文件“:未知”错误。我错过了什么吗?任何帮助真的很感激
文件
FROM openjdk:8-jdk-alpine
LABEL maintainer="myname@test.com"
# Add a volume pointing to /tmp
VOLUME /tmp
# Make port 8080 available to the world outside this container
EXPOSE 8080
# The application's jar file
ARG JAR_FILE=target/my.jar
# Add the application's jar to the container
ADD ${JAR_FILE} my.jar
ENV JAVA_OPTS=""
# Run the jar file
ENTRYPOINT ["java $JAVA_OPTS","-Djava.security.egd=file:/dev/./urandom","-jar","/my.jar"]
Run Code Online (Sandbox Code Playgroud)
docker-compose
version: '2.1'
services:
service1:
hostname: test
domainname: mydomain.com
image: myimage:latest
container_name: …Run Code Online (Sandbox Code Playgroud) java jvm spring-boot docker-compose spring-boot-docker-plugin
我试图弄清楚如何使用fabric8 docker-maven-plugin构建spring boot docker镜像。该文档包含位和字节,显然我丢失了一些东西。有人有完整的pom.xml示例吗?