我需要在 Kubernetes 中运行这个 Docker 命令:
docker run -p 8080:8080 sagemath/sagemath sage -notebook
我可以映射除“-notebook”以外的所有内容-有人知道该怎么做吗?
这是我到目前为止所拥有的,当然它不起作用,因为“-notebook”没有正确转换为 kubectl:
kubectl run --image=sagemath/sagemath sage --port=8080 --type=LoadBalancer -notebook
当您为您的 sage 定义 pod 规格时,您可以同时定义
command
一个args
数组,所以对您来说就像用于启动
kubectl run
所以尝试使用
--
分隔符运行:kubectl run --image=sagemath/sagemath --port=8080 --type=LoadBalancer -- sage -notebook
--
成功了。这意味着 kubectl 不会将以下开头的字符串解析为 kubectl 参数-
所以你运行该容器执行:
如果您想要 GKE 上的公共 IP,您应该公开执行的容器:
您可以在 EXTERNAL-IP 列
kubectl get service
的行中运行公共 IPsage
对于此类情况
--command=false 如果存在 true 和额外参数,请将它们用作容器中的“命令”字段,而不是默认的“参数”字段。