
Muy bien, estoy intentando publicar una imagen de Docker privada en Kubernetes y me encuentro con algunos problemas extraños.
Empiezo por iniciar sesión en Docker.
docker login -u $DOCKER_USER -p $DOCKER_TOKEN
y eso almacenará mi contraseña en un archivo de configuración, así que ejecuto esto
kubectl create secret generic regcred --from-file=/root/.docker/config.json --type=kubernetes.io/dockerconfigjson
Esperaría que recogiese la URL del config.json
archivo, pero aparece este error.
The connection to the server localhost:8080 was refused - did you specify the right host or port?
Entonces pensé que también podría especificar el servidor.
kubectl create secret generic regcred --from-file=/root/.docker/config.json --type=kubernetes.io/dockerconfigjson --server=https://index.docker.io/v1/
Pero todavía no hubo suerte.
error: EOF
2020-01-12T19:45:39.7433187Z stdout P Please enter Username:
y como esto se ejecuta en un servidor de compilación, no puedo ingresar el nombre de usuario.
Entonces, ¿qué me falta aquí?
Respuesta1
kubectl create secret generic regcred --from-file=/root/.docker/config.json --type=kubernetes.io/dockerconfigjson --server=https://index.docker.io/v1/
Estás combinando el --server=
argumento to kubectl
, que determina el servidor de Kubernetes al que se conectará, con--docker-server=
Querrá utilizar el kubectl create secret docker-registry
comando proporcionado (en lugar del generic
tipo) porque el Secret
que crea la versión especializada esnosolo el .docker/config.json
archivo cargado en el clúster; son estructuralmente diferentes
También:
La conexión al servidor localhost:8080 fue rechazada. ¿Especificó el host o el puerto correcto?
es un claro indicio de que no tiene un kubeconfig configurado correctamente, por lo que puede olvidarse de cualquier kubectl
comando que haga algo razonable hasta que solucione ese problema