Py学习  »  docker

如何在运行时将命令行参数传递给Docker映像中的dotnet dll?

Gerry • 6 年前 • 1634 次点击  

正在处理我的第一个Docker图像。它是一个使用cmd启动的dotnet程序(docker中只允许使用一个cmd)。我想在运行时向程序传递一个参数(API密钥)。在谷歌搜索之后,没有找到明确的答案。入口点似乎没有帮助。可能是env,但似乎env只针对docker。我的Dockerfile:

FROM microsoft/dotnet
WORKDIR /app
COPY . /app
CMD [ "dotnet",  "/app/netcore/Somename.dll"]

谢谢

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/30697
 
1634 次点击  
文章 [ 1 ]  |  最新文章 6 年前
grapes
Reply   •   1 楼
grapes    6 年前

Docker加盟 ENTRYPOINT CMD 如果两个命令行都使用 杰森 符号,如您的示例中所示。

这是JSON符号: CMD [ "dotnet", "/app/netcore/Somename.dll"]

这是外壳符号: CMD dotnet /app/netcore/Somename.dll

另一件你需要知道的事-写的是什么 docker run ... <image_name> ... 之后 被认为是 CMD .

所以,总结一下。

  1. 命令行的常量(不可变)部分,如 dotnet foo.dll 你可以放进去 入口点 .

  2. 变量部分,与其他参数一样,您提供 docker run 并且可以选择将默认值设置为 CMD 在里面 Dockerfile

例子:

文档文件

...
ENTRYPOINT ["dotnet", "/app/netcore/Somename.dll"]
CMD ["--help"]

命令行1:

docker run ... <your image name> --environment=Staging --port=8080 

将导致 dotnet /app/netcore/Somename.dll --environment=Staging --port=8080

命令行2:

docker run ... <your image name>

将导致 dotnet /app/netcore/Somename.dll --help . --help 来自默认值,在DockerFile中定义。