英文:
Java args config for Docker
问题
我正在使用Java创建Docker容器。但是jar包的参数配置应该如何进行呢?
我认为:
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);
这样是否正确?
英文:
I'm doing docker container with java. But how should it be jar args config?
i think:
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);
is it true?
答案1
得分: 1
你可以直接将Java参数传递给Docker运行,如下所示。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("从Docker环境获取的参数:" + args1);
}
然后,在Docker中传递环境变量。
docker run -e ARGS1=testing-args test-image:latest
英文:
You can pass java args directly to docker run like. docker run <image> java-args1 java-args2
docker run test-image:latest args1 args2
But, I would prefer to use System.getenv("ARGS1");
method to read docker environment variables, like below.
public static void main(String args[]) {
String args1 = System.getenv("ARGS1");
System.out.println("Arguments from docker env : " + args1);
}
And, pass environment variable in docker..
docker run -e ARGS1=testing-args test-image:latest
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论