Saltar al contenido

¿Cómo usar imágenes de Docker local con Minikube?

Solución:

Como describe README, puede reutilizar el demonio Docker de Minikube con eval $(minikube docker-env).

Entonces, para usar una imagen sin cargarla, puede seguir estos pasos:

  1. Establezca las variables de entorno con eval $(minikube docker-env)
  2. Construya la imagen con el demonio Docker de Minikube (p. Ej. docker build -t my-image .)
  3. Establezca la imagen en la especificación del pod como la etiqueta de compilación (p. Ej. my-image)
  4. Selecciona el imagePullPolicy para Never, de lo contrario, Kubernetes intentará descargar la imagen.

Nota IMPORTANTE: Tienes que correr eval $(minikube docker-env) en cada terminal que desee utilizar, ya que solo establece las variables de entorno para la sesión de shell actual.

Lo que funcionó para mí, basado en la solución de @svenwltr:

# Start minikube
minikube start

# Set docker env
eval $(minikube docker-env)             # unix shells
minikube docker-env | Invoke-Expression # PowerShell

# Build image
docker build -t foo:0.0.1 .

# Run in minikube
kubectl run hello-foo --image=foo:0.0.1 --image-pull-policy=Never

# Check that it's running
kubectl get pods

¡Esta respuesta no se limita a minikube!

Utilice un registro local:

docker run -d -p 5000:5000 --restart=always --name registry registry:2

Ahora etiqueta tu imagen correctamente:

docker tag ubuntu localhost:5000/ubuntu

Tenga en cuenta que localhost debe cambiarse por el nombre dns de la máquina que ejecuta el contenedor de registro.

Ahora envíe su imagen al registro local:

docker push localhost:5000/ubuntu

Debería poder retirarlo:

docker pull localhost:5000/ubuntu

Ahora cambie su archivo yaml para usar el registro local.

Piense en montar el volumen en la ubicación adecuada para conservar las imágenes en el registro.

actualizar:

como dijo Eli, deberá agregar el registro local como inseguro para usar http (puede que no se aplique cuando se usa localhost, pero se aplica si se usa el nombre de host local)

No use http en producción, haga el esfuerzo de asegurar las cosas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *