Eu preciso executar este comando do Docker no Kubernetes:
docker run -p 8080:8080 sagemath/sagemath sage -notebook
Eu posso mapear tudo, exceto "-notebook" - alguém sabe como fazer isso?
Aqui está o que eu tenho até agora e é claro que não funciona, pois "-notebook" não é traduzido para o kubectl corretamente:
kubectl run --image=sagemath/sagemath sage --port=8080 --type=LoadBalancer -notebook
Quando você define a especificação do pod para o seu sage, você pode definir ambos
command
e umargs
array, então para você seria comopara lançamento com
kubectl run
então tente executar com
--
delimitador:kubectl run --image=sagemath/sagemath --port=8080 --type=LoadBalancer -- sage -notebook
--
faz o truque. Isso significa que o kubectl não analisaria como argumentos do kubectl as seguintes strings que começam com-
Então você executa esse contêiner executando:
E se você quiser um IP público no GKE, deverá expor o contêiner em execução:
Você pode obter o IP público em execução
kubectl get service
na linhasage
na coluna EXTERNAL-IPPara tais casos
--command=false Se argumentos verdadeiros e extras estiverem presentes, use-os como o campo 'comando' no contêiner, em vez do campo 'args' que é o padrão.