Kubernetes等价于';docker run-it';

Kubernetes等价于';docker run-it';,docker,kubernetes,kubectl,Docker,Kubernetes,Kubectl,我有一个docker映像,我正在使用以下命令运行它 docker run -it -p 1976:1976 --name demo demo.docker.cloud.com/demo/runtime:latest 我想在库伯内特斯也一样。这是我当前的yaml文件 apiVersion:v1 种类:部署 元数据: 名称:演示部署 标签: 应用程序:演示 规格: 副本:1份 选择器: 火柴标签: 应用程序:演示 模板: 元数据: 标签: 应用程序:演示 规格: 容器: -名称:demo 图片:

我有一个docker映像,我正在使用以下命令运行它

docker run -it -p 1976:1976 --name demo demo.docker.cloud.com/demo/runtime:latest
我想在库伯内特斯也一样。这是我当前的yaml文件

apiVersion:v1 种类:部署 元数据: 名称:演示部署 标签: 应用程序:演示 规格: 副本:1份 选择器: 火柴标签: 应用程序:演示 模板: 元数据: 标签: 应用程序:演示 规格: 容器: -名称:demo 图片:demo.docker.cloud.com/demo/runtime:latest 端口: -集装箱港口:1976年
imagePullPolicy:Never我假设您正在尝试将shell连接到正在运行的容器。按照指南-您将需要以下命令。要应用上述配置,请执行以下操作:

创建pod:
kubectl apply-f./demo deployment.yaml

验证容器是否正在运行:
kubectl get pod demo deployment


获取运行容器的shell:
kubectl exec-it演示部署--/bin/bash
我假设您正在尝试将shell连接到运行容器。按照指南-您将需要以下命令。要应用上述配置,请执行以下操作:

创建pod:
kubectl apply-f./demo deployment.yaml

验证容器是否正在运行:
kubectl get pod demo deployment

获取一个shell到正在运行的容器:
kubectl exec-it演示部署--/bin/bash
查看,等效选项为
stdin:true
tty:true

(我所处理的应用程序都不需要这样做;
stdin:
的文档谈到了“从容器中的stdin读取”,而部署中运行的典型服务器类型进程根本不从stdin读取。)

查看,等效选项为
stdin:true
tty:true


(我所处理的应用程序都不需要这样做;
stdin:
的文档谈到了“从容器中的stdin读取”,而在部署中运行的典型服务器类型进程根本不从stdin读取。)

--interactive
--tty
。你的用例是什么?我猜他们想在Kubernetes中的运行容器中附加一个shell…这些标志——交互式和——tty在Kubernetes中也会相同吗?如何将它们放在yaml文件中?
--interactive
--tty
。你的用例是什么?我猜他们想在Kubernetes中的运行容器中附加一个shell…这些标志——交互式和——tty在Kubernetes中也会相同吗?如何将它们放入yaml文件中?本文讨论的一个问题是在成功部署后获得shell。但是在我的例子中,我们需要shell来安装产品本身包含的图像文件。@AkashKumar安装应该在图像构建阶段到达kubernetes之前完成,通常通过。您提供给k8s的容器映像应该可以在没有交互的情况下运行。@Matt Yes这是最好的情况,但由于某些限制,创建映像时,我无法更改映像文件或Dockerfile。@AkashKumar能否从demo.docker.cloud.com/demo/runtime:latest创建
Dockerfile
,并将新映像推送到您的repo?每次kubernetes需要重新安排一个pod时,手动安装(在每个pod中)并不是一次有趣的体验@Cinderhaze是的,我已经创建了一个新的图像,通过使以前的图像交互和测试,目前在本地,它的工作良好。除此之外,我还发现了另一种不使用yaml文件从命令行运行此命令的方法:“kubectl run-it demo--image=demo.docker.cloud.com/demo/runtime:latest--image pull policy=Never--port=1976”本文讨论的一个问题是在成功部署后获得shell。但是在我的例子中,我们需要shell来安装产品本身包含的图像文件。@AkashKumar安装应该在图像构建阶段到达kubernetes之前完成,通常通过。您提供给k8s的容器映像应该可以在没有交互的情况下运行。@Matt Yes这是最好的情况,但由于某些限制,创建映像时,我无法更改映像文件或Dockerfile。@AkashKumar能否从demo.docker.cloud.com/demo/runtime:latest创建
Dockerfile
,并将新映像推送到您的repo?每次kubernetes需要重新安排一个pod时,手动安装(在每个pod中)并不是一次有趣的体验@Cinderhaze是的,我已经创建了一个新的图像,通过使以前的图像交互和测试,目前在本地,它的工作良好。除此之外,我还找到了另一种不使用yaml文件从命令行运行此命令的方法:“kubectl run-it demo--image=demo.docker.cloud.com/demo/runtime:latest--image pull policy=Never--port=1976”