動態給容器指定 Java 啓動參數

在做 Java 程序容器化時都會遇到一個問題,ENTRYPOINT ["java", "$JAVA_OPTS", "-jar", ...] 這樣的寫法 $JAVA_OPTS 就是個字符串無法在運行時展開。爲了不把參數硬編碼到容器裏,每次調整參數重新構建鏡像,可以有多種方案,先介紹幾種不夠好的方案。

  1. ENTRYPOINT java $JAVA_OPTS -jar ...,這種方式的問題是 java 不是容器主進程(至於爲什麼要保證 java 是主進程,又是一個話題,是容器化基本最佳實踐之一);
  2. ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar ..."],這種寫法其實等價於上面一種方式,上面一種方式在運行時就是以 /bin/sh -c "java $JAVA_OPTS -jar ..." 方式運
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章