将parameter passing给泊坞窗图像上的应用程序
我环顾四周,我看到了一些Docker容器上运行HelloWorld的简单示例,如下所示: http : //dotnet.dzone.com/articles/docker-%E2%80%98hello-world-mono
在Dockerfile的最后,作者调用:
CMD ["mono", "/src/hello.exe"]
我们要做的是在构build我们的控制台应用程序时有一个可重用的图像。 把它放在一个使用Dockerfile的docker镜像上。 这部分对我来说是有意义的。 但是,我希望能够通过ConsoleApp参数。 那可能吗?
例如,
sudo docker run crystaltwix/helloworld -n "crystal twix"
其中-n是我在helloworld应用程序中定义的一个参数。
您可以使用ENTRYPOINT foo
而不是CMD foo
来实现此目的。 docker run
后的所有参数都传递给foo。
@ seanmcl的答案是最简单的…如果您必须传递应用程序密钥这样的秘密值,您可能不得不担心将它们暴露给进程列表….因此,您可以使用应用程序在启动过程中查找的环境variables:
SECRET_KEY="crystal twix" docker run -e APP_KEY=$SECRET_KEY crystaltwix/helloworld