Docker加盟
ENTRYPOINT
和
CMD
如果两个命令行都使用
杰森
符号,如您的示例中所示。
这是JSON符号:
CMD [ "dotnet", "/app/netcore/Somename.dll"]
这是外壳符号:
CMD dotnet /app/netcore/Somename.dll
另一件你需要知道的事-写的是什么
docker run ... <image_name> ...
之后
被认为是
CMD
.
所以,总结一下。
-
命令行的常量(不可变)部分,如
dotnet foo.dll
你可以放进去
入口点
.
-
变量部分,与其他参数一样,您提供
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中定义。