我有一个 Dockerfile,如下所示:
FROM tomcat:9.0.12-jre8
EXPOSE 8080
COPY app.war "$CATALINA_HOME"/webapps
我需要设置一些JVM属性,如下所示:
-DTOMCAT=Y
-Doracle.server=1234
-Doracle.url=1234
-Doracle.password=1234
...
我如何在Dockerfile中添加这些属性?
我有一个 Dockerfile,如下所示:
FROM tomcat:9.0.12-jre8
EXPOSE 8080
COPY app.war "$CATALINA_HOME"/webapps
-DTOMCAT=Y
-Doracle.server=1234
-Doracle.url=1234
-Doracle.password=1234
...
您可以在构建Dockerfile时,简单地将JAVA_OPTS
的值设置为您需要的值:
ENV JAVA_OPTS="-DTOMCAT=Y -DOracle.server=1234 [...]"
如果你不修改官方tomcat镜像中的CMD
,你也可以在运行时直接设置它:
$ docker run -e JAVA_OPTS="-DTOMCAT=Y -DOracle.server=1234 [...]" your_image:your_tag
参见:https://github.com/docker-library/tomcat/issues/8
根据你提供的选项,在安全性方面,选择第二个版本会更好(主机、端口和密码信息不应该留在 Docker 镜像中)。
如果您的应用程序只需要最少的资源要求,则可以将其放在 Dockerfile 中。