如何将运行Camel-K的docker命令转换为等效的ctr命令?
问题背景
我需要在服务器上安装Camel-K的CLI工具kamel,计划通过调用镜像启动容器的方式实现,使用docker命令已完成验证,但生产服务器未安装docker CLI,仅预装了kubectl和ctr。
我曾将docker命令转换为kubectl等效命令,可正常运行但运行后Pod终止速度很慢,因此尝试改用ctr实现但未成功。
参考的docker命令
docker run -it --rm apache/camel-k kamel version
核心需求
使用apache/camel-k镜像启动容器,执行指定命令后自动删除容器。
已尝试的kubectl命令
kubectl run tmp-pod -i --rm --image=apache/camel-k -- kamel version
解决方案
对应的等效ctr命令如下:
sudo ctr run -t --rm apache/camel-k uniqueID kamel version
命令说明
- 如果你操作的是containerd的默认命名空间,直接执行上述命令即可,若使用其他命名空间需额外添加
-n <命名空间名>参数 - 命令中的
uniqueID需要替换为自定义的唯一容器标识,ctr运行容器时要求必须指定该值 -t参数对应docker命令的-t分配终端参数,--rm参数对应容器执行结束后自动删除的逻辑,和原需求完全匹配
内容的提问来源于stack exchange,提问作者Haifeng Zhang
相关产品推荐
相关产品推荐

