Dea*_*ano 0 docker kubernetes minio
我正在尝试运行一次 docker 映像,以使用流行的S3 客户端 minio执行任务,我正在处理的环境使用 Kubernetes。
我可以获得 shell 访问权限来执行任务,如下所示:
docker run -it minio/mc --restart=Never --rm /bin/sh
Run Code Online (Sandbox Code Playgroud)
同样,我可以在 K8S 集群中运行 busybox 映像。
kubectl run busybox -i --tty --image=busybox --restart=Never --rm -- sh
Run Code Online (Sandbox Code Playgroud)
但是,我无法让 mc 客户端像前面的示例一样工作。
kubectl run minio -i --tty --image=minio/mc --restart=Never --rm -- /bin/sh
Run Code Online (Sandbox Code Playgroud)
我的 shell 会退出,关于如何保持 shell 打开有什么想法吗?或者如何在它死之前将 bash 命令传递给它?
当 Pod 中的容器运行一些完成的进程时,就会出现此问题。当它的容器退出时,Pod 就完成了。更常见的是在 Pod 中包含连续运行的容器。
因此,解决这个完成问题的方法是保持容器运行:
kubectl run minio \
--image=minio/mc \
--restart=Never \
--command \
-- /bin/sh -c 'while true; do sleep 5s; done'
Run Code Online (Sandbox Code Playgroud)
注意Pod
while通过容器中的循环保持运行
注意图像的入口点被
--command和覆盖/bin/sh
kubectl exec --stdin --tty minio -- mc --help
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
949 次 |
| 最近记录: |