1.打包成docker镜像,Dockerfile如下
预留一个 $JAVA_OPTS 参数,接收启动镜像时的java参数

FROM openjdk:8-jdk-alpine
ADD apicenter-1.0.jar apicenter.jar
ENTRYPOINT ["/bin/sh", "-c", "java $JAVA_OPTS -jar /apicenter.jar"]

打包:docker build -t apicenter:v1.0 ./
启动:docker run -d --name apicenter -e JAVA_OPTS="-Dspring.profiles.active=test -DXmx=1024m -DXms=1024m" -p 8080:8080 apicenter:v1.0

2.docker与k8s通用的镜像,k8s在配置文件中通过 args 参数向容器注入参数,因此不能用上面的方式

FROM openjdk:8-jdk-alpine
ADD apicenter-es-1.0-SNAPSHOTT.jar apicenter.jar
ENTRYPOINT ["java","-jar","/apicenter.jar"]

直接用这种方式,打成镜像,k8s调度时,在k8s的配置文件的 args 参数下配置 多个java项目需要的参数就会同步到 Pod中

查看容器是否启用了参数,1.先运行镜像,2.docker exec -it xxx sh ,3.进入容器后输入 ps -ef 查看进程参数

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐