【问题标题】:How to specify JDK_JAVA_OPTIONS with docker run如何使用 docker run 指定 JDK_JAVA_OPTIONS
【发布时间】:2020-11-29 10:24:40
【问题描述】:
docker run \
--rm \
-it \
--env MY_SERVER_URL=https://localhost:8443 \
--env JDK_JAVA_OPTIONS=“-Dmy.project.key=webgoat8 -javaagent:/Users/user/Desktop/mydir2/appagents/proj/proj-agent.jar” \
--volume /tmp/proj/:/tmp/proj-in-docker \
-p 8181:8080 \
webgoat/webgoat-8.0

我明白了 未知速记标志:'j' in -javaagent:/Users/user/Desktop/mydir2/appagents/proj/proj-agent.jar”

请帮忙

【问题讨论】:

  • 您问题中的命令使用大引号:,而不是常规键盘引号 "。如果这是您在命令行上使用的,那么它会导致问题。 (但也许这只是在编写此问题时通过 Microsoft 产品(例如 Word)复制/粘贴文本的结果)。

标签: java docker options


【解决方案1】:

您的 -javaagent:/Users/user/Desktop/mydir2/appagents/proj/proj-agent.jar” 参数当前作为参数传递给 docker run 而不是 CMD 到容器进程。您可能希望它位于图像名称之后,以便将其传递给进程:

docker run
--rm
-it
--env MY_SERVER_URL=https://localhost:8443
--env JDK_JAVA_OPTIONS=“-Dmy.project.key=webgoat8 
--volume /tmp/proj/:/tmp/proj-in-docker
-p 8181:8080
webgoat/webgoat-8.0 -javaagent:/Users/user/Desktop/mydir2/appagents/proj/proj-agent.jar”

【讨论】:

    【解决方案2】:

    我做了两个改动。

    1. 使用 ip 地址而不是本地主机
    2. 我可以使用 --env 选项将项目密钥设置为环境变量,而不是在 JDK_JAVA_OPTIONS 中传递它

    成功了

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-14
      • 2015-05-23
      • 1970-01-01
      • 2021-02-27
      • 2018-01-07
      • 1970-01-01
      • 2018-02-23
      • 1970-01-01
      相关资源
      最近更新 更多