Ich muss diesen Docker-Befehl in Kubernetes ausführen:
docker run -p 8080:8080 sagemath/sagemath sage -notebook
Ich kann alles außer "-notebook" abbilden - weiß jemand, wie das geht?
Folgendes habe ich bisher und natürlich funktioniert es nicht, da "-notebook" nicht korrekt in kubectl übersetzt wurde:
kubectl run --image=sagemath/sagemath sage --port=8080 --type=LoadBalancer -notebook
-notebook
ist kein Argument für Docker oder Kubectl, sondern fürsage
.Antworten:
Wenn Sie die Pod-Spezifikation für Ihren Weisen definieren, können Sie sowohl
command
einargs
Array als auch ein Array definierenzum Starten mit
kubectl run
Versuchen Sie also, mit einem
--
Trennzeichen zu arbeiten:kubectl run --image=sagemath/sagemath --port=8080 --type=LoadBalancer -- sage -notebook
quelle
run
Referenz--
macht den Trick. Dies bedeutet, dass kubectl die folgenden Zeichenfolgen, die mit beginnen, nicht als kubectl-Argumente analysieren würde-
Sie führen also diesen Container aus und führen Folgendes aus:
Und wenn Sie eine öffentliche IP für GKE möchten, sollten Sie den Container verfügbar machen, der Folgendes ausführt:
Sie können die öffentliche IP
kubectl get service
in der Zeilesage
in der Spalte EXTERNAL-IP ausführenquelle
Für solche Fälle
--command = false Wenn true und zusätzliche Argumente vorhanden sind, verwenden Sie diese als Befehlsfeld im Container und nicht als Standardfeld args.
quelle