- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是Docker的新手,对ockfile有一个简单的问题。我们可以在停靠文件中写入入口点和CMD。似乎在创建容器期间执行了入口点。并且在启动容器期间执行CMD。这是真的?
最佳答案
不完全是:
ENTRYPOINT
配置将作为可执行文件运行的容器。
因此它总是执行的(或者默认的/bin/sh -c
是)。
ENTRYPOINT ["executable", "param1", "param2"] (exec form, preferred)
ENTRYPOINT command param1 param2 (shell form)
Command line arguments to
docker run <image>
will be appended after all elements in an exec formENTRYPOINT
, and will override all elements specified using CMD.The shell form prevents any
CMD
or run command line arguments from being used, but has the disadvantage that yourENTRYPOINT
will be started as a subcommand of/bin/sh -c
, which does not pass signals.
This means that the executable will not be the container’s PID 1 - and will not receive Unix signals - so your executable will not receive a SIGTERM fromdocker stop <container>
.
CMD
作为
ENTRYPOINT
的参数。
/bin/sh -c
”),则
CMD
可包含可执行文件。
ENTRYPOINT
已经运行可执行文件,则CMD参数是该命令的参数(如果使用
docker run
而没有其他参数)。
docker start
中所述,使用
issue 1437时,将执行
ENTRYPOINT
,但仅使用
CMD
中的参数(因此使用
CMD
,但不能在命令行上使用自己的参数覆盖它)。
docker run
而不是
docker start
。
--cmd
(
-c
)标志来指定要使用的cmd,而不是cmd / entrypoint中的默认cmd。
- Dockerfile should specify at least one of
CMD
orENTRYPOINT
commands.ENTRYPOINT
should be defined when using the container as an executable.CMD
should be used as a way of defining default arguments for anENTRYPOINT
command or for executing an ad-hoc command in a container.CMD
will be overridden when running the container with alternative arguments.
No
CMD
:
- if No
ENTRYPOINT
: error, not allowedENTRYPOINT exec_entry p1_entry
means/bin/sh -c exec_entry p1_entry
ENTRYPOINT ["exec_entry", "p1_entry"]
meansexec_entry p1_entry
CMD ["exec_cmd", "p1_cmd"]
(one command, one parameter)
- if No
ENTRYPOINT
:exec_cmd p1_cmd
,ENTRYPOINT exec_entry p1_entry
means/bin/sh -c exec_entry p1_entry exec_cmd p1_cmd
ENTRYPOINT ["exec_entry", "p1_entry"]
meansexec_entry p1_entry exec_cmd p1_cmd
CMD ["p1_cmd", "p2_cmd"]
- if No
ENTRYPOINT
:p1_cmd p2_cmd
ENTRYPOINT exec_entry p1_entry
means/bin/sh -c exec_entry p1_entry p1_cmd p2_cmd
(good)ENTRYPOINT [“exec_entry”, “p1_entry”]
meansexec_entry p1_entry p1_cmd p2_cmd
CMD exec_cmd p1_cmd
:
- if No
ENTRYPOINT
:/bin/sh -c exec_cmd p1_cmd
ENTRYPOINT exec_entry p1_entry
means/bin/sh -c exec_entry p1_entry /bin/sh -c exec_cmd p1_cmd
ENTRYPOINT [“exec_entry”, “p1_entry”]
meansexec_entry p1_entry /bin/sh -c exec_cmd p1_cmd
关于docker - dockerfile中cmd和入口点之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35452760/
通常入口重写目标的工作原理如下: nginx.ingress.kubernetes.io/rewrite-target: / 这将重写服务名称的目标,因为它们在根目录中。所以如果我有这个: apiVe
我正在使用 Helm 部署的 GKE (1.8.5-gke.0) 上运行 traefik 入口 Controller 。我观察到的是请求经常得到 404 响应。 看起来 traefik 会不断重新加载
是否可以在没有负载均衡器的情况下在 Kubernetes 中使用 Ingress Controller 功能(在 Digital Ocean 中)。 有没有其他机制可以让域名映射到Kubernetes
我使用 KOPS 和 nginx-ingress 在 AWS 上部署了 Kubernetes。 为了评估多个云(并削减成本),我想在 GKE 上进行部署。一切正常,除了该死的 Ingress。 (这是
要求:想要使用带有 HTTPS 的入口部署 Minio 和另一个后端服务(不用于生产目的) 我一直在尝试创建一个入口以从 GKE 中的 Kubernetes 集群外部访问两个服务。这些是我尝试过的尝试
我对使用漏斗可视化功能的谷歌分析有点坚持。 输入漏斗可视化时,它会显示带有数字的“(入口)”。 这代表什么? 最佳答案 这表示在漏斗中第一步所代表的特定页面或一组页面上进入您网站的人数。 关于goog
我尝试在我的 kubernetes 集群上配置入口。我关注了documentation安装入口 Controller 并运行以下命令 kubectl apply -f https://raw.gith
我无法连接到使用 nginx 入口运行的应用程序(Docker Desktop win 10)。 nginx-ingress Controller pod 正在运行,应用程序运行良好,并且我创建了一个
我试图弄清楚如何使用具有某些特定规则的 nginx 代理缓存。例如,当我托管 Ghost 或 Wordpress 时,我不想缓存管理部分。使用服务器片段,我尝试了很多不同的组合,但在管理部分的缓存仍然
我正在尝试将AKS入口的IP列入白名单。我目前正在使用未随Helm一起安装的ingress-nginx。 强制性kubernetes资源可以在here中找到 服务启动为: spec: extern
我的机构有防火墙设置,阻止了大部分外部端口,目前,我有内部 Linux 虚拟机,例如, http://abc.xyz:5555 (此链接只能在内网访问),并且管理员设置了Netscaler,以便将内部
我正在尝试根据用户代理代理_传递流量。试图为它使用服务器代码段/配置代码段,但入口不允许我。 (禁止在 server-snippet 中使用 proxy_pass 并在 configuration-s
我已经使用 nginx-stable 安装了 nginx helm 图表和配置的入口规则如下。虽然它仅适用于根路径,如下所示, /user/login - working /user/register
使用 KOPS 在 AWS 上部署 k8s。 我已经创建了 nginx 入口 https://github.com/kubernetes/ingress-nginx nginx-ingress-con
在我的聊天应用程序中,当一个用户将另一个人添加到他/她的联系人列表中时,服务器条目显示 BOTH 订阅,但在我的应用程序中,代码根据 TO/FROM 订阅工作(就像在接受 friend 请求之前一样)
我在 Python 中有一个实用程序模块,它需要知道正在使用它的应用程序的名称。实际上,这意味着被调用以启动应用程序的顶级 python 脚本的名称(即,其中__name=="__main__"为真)
在这种情况下,我将如何实现“OnButtonClick”以便在按下按钮时打印用户输入“e1”? from Tkinter import * class App: def __init__
我使用以下命令在本地生成 key 。 openssl genrsa -out testsvc.testns.ing.lb.xyz.io.key.pem 2048 并使用以下命令生成 CSR(证书签名请
我正在运行 mint 17.2 kde。 我通过在 ~/Downloads/中运行 idea.sh 安装了 intellij CE 然后我将 intellij 移动到/usr/lib/。现在,当我尝试
我无法让 Controller 工作。尝试了很多次,我仍然得到 Error: ImagePullBackOff。 有没有我可以尝试的替代方案或者它失败的原因? kubectl apply -f
我是一名优秀的程序员,十分优秀!