【问题标题】:Write a cron expression in docker-compose.yml environment在 docker-compose.yml 环境中编写一个 cron 表达式
【发布时间】:2021-09-18 18:04:38
【问题描述】:

我正在努力把 cron 表达式 0 */1 * ? * * * 放入 docker-compose.yml 作为环境变量..

我试图用反斜杠转义 *,还有 " 和 ',但没有运气。

cont1:
  image: some-image
  restart: unless-stopped
  volumes:
    - some_volume
  environment:
    - JAVA_OPTS=
      -Dserver.port=${DP_PORT:-8080}
      -Ddoc.office.viaFile=true
      -DdocumentCache.cleanUp.cron.timer='0 */1 * ? * * *'

YAML 解析器的输出:

{
  "cont1": {
    "environment": [
      "JAVA_OPTS= -Dserver.port=${DP_PORT:-8080} -Ddoc.office.viaFile=true -DdocumentCache.cleanUp.cron.timer='0 */1 * ? * * *'"
    ], 
    "image": "some-image", 
    "restart": "unless-stopped", 
    "volumes": [
      "some-image"
    ]
  }
}

YAML 有效.. docker-compose 出错:

Error: Could not find or load main class proc.1
Caused by: java.lang.ClassNotFoundException: proc.1

【问题讨论】:

    标签: java docker-compose cron java-opts


    【解决方案1】:

    尝试将您的 YAML 放入在线 YAML 编辑器中,例如:https://yaml-online-parser.appspot.com/ 并查看它产生的输出,以及它是否是您期望的输出。

    【讨论】:

    • 我尝试了 yml 验证器,它是有效的 yml,但 docker compose 仍然存在这些星号和空格字符的问题。错误:无法找到或加载主类 proc.1 原因:java.lang.ClassNotFoundException: proc.1
    猜你喜欢
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    • 2016-07-16
    • 1970-01-01
    • 1970-01-01
    • 2015-08-11
    相关资源
    最近更新 更多