如何参数化Dockerfile?

我正在为Spring Boot应用程序创build一个Dockerfile。 该应用程序需要几个命令行参数。 在Dockfile

CMD java -jar Application.jar –bucket = bucket.list –key = lost

但是,在Dockfilebucketkey的值进行硬编码是最佳做法吗?

如果没事的话,我可以忍受。 否则,我想知道如何参数化Dockfile

该应用程序将部署在AWS上,如果这打开了更多的build议。

Dockerdevise专注于尽可能独立于Host环境,包括在构buildDocker镜像时。 有一个请求 ,让Docker构build访问主机环境variables,但它被拒绝寻找主机的独立性。 在那里它也评论了一些可以适合你的问题的解决方法。

无论如何,应该做什么Application.jar? 如果应用程序应该在容器内运行(而不是在构build时间内),启动容器的正确方法是使用自定义脚本运行。 在那里,你可以设置你的凭据或任何其他信息,你希望从一个环境variables,可以在启动容器时设置: docker run -e "MYKEY=secret" -e "MYBUCKET=bucket" myuser/myapp /my/custom/script