Kubernetes – Mapping Docker Run Command-Line Parameters to kubectl

command-line-interfacedockerkubernetes

I need to run this Docker command in Kubernetes:

docker run -p 8080:8080 sagemath/sagemath sage -notebook

I can map everything across except "-notebook" – does anyone know how to do that?

Here is what I have so far, and of course it doesn't work since "-notebook" is not translated over to kubectl correctly:

kubectl run --image=sagemath/sagemath sage --port=8080 --type=LoadBalancer -notebook

Best Answer

When you define pod spec for your sage you can define both command and an args array, so for you it would be like

command: sage
args:
- -notebook

for launching with kubectl run

Usage:
  kubectl run NAME --image=image [--env="key=value"] [--port=port] [--replicas=replicas] [--dry-run=bool] [--overrides=inline-json] [--command] -- [COMMAND] [args...] [options]

so try running with -- delimiter : kubectl run --image=sagemath/sagemath --port=8080 --type=LoadBalancer -- sage -notebook

Related Topic