Java args config для Docker

#java #docker #jar #docker-compose #dockerfile

#java #docker #jar #docker-составить #dockerfile

Вопрос:

Я делаю контейнер docker с Java. Но как это должно быть jar args config?

я думаю:

 if (args.length == 2) new Listen().run(args[0],args[1]);
    else System.out.println("Ex: docker run -it -e MQTT_HOST=localhost:1883 -e MQTT_TOPIC=test mqtt");
    System.exit(1);
  

это правда?

Ответ №1:

Вы можете передавать Java args непосредственно в docker run like. docker run <image> java-args1 java-args2

     docker run test-image:latest args1 args2
  

Но я бы предпочел использовать System.getenv("ARGS1"); метод для чтения переменных среды docker, как показано ниже.

 public static void main(String args[]) {
    String args1 = System.getenv("ARGS1");
    System.out.println("Arguments from docker env : "   args1);
}
  

И передайте переменную среды в docker..

       docker run -e ARGS1=testing-args test-image:latest