Skip to content

Latest commit

 

History

History
57 lines (39 loc) · 2.36 KB

distribucion.md

File metadata and controls

57 lines (39 loc) · 2.36 KB

Distribución de imágenes

Una vez que hemos creado nuestra imagen personalizada, es la hora de distribuirla para desplegarla en el entorno de producción. Para ello vamos a tener varias posibilidades:

  1. Utilizar la secuencia de órdenes docker commit / docker save / docker load. En este caso la distribución se producirá a partir de un fichero.
  2. Utilizar la pareja de órdenes docker commit / docker push. En este caso la distribución se producirá a través de DockerHub.
  3. Utilizar la pareja de órdenes docker export / docker import. En este caso la distribución de producirá a través de un fichero.

En este curso nos vamos a ocupar únicamente de las dos primeras ya que la tercera se limita a copiar el sistema de ficheros sin tener en cuenta la información de las imágenes de las que deriva el contenedor (capas, imagen de origen, autor etc..) y además si tenemos volúmenes o bind mounts montados los obviará.

Distribución a partir de un fichero

  1. Guardar esa imagen en un archivo .tar usando el comando docker save:

    $ docker save josedom24/myapache2:v1 > myapache2.tar
  2. Distribuir el fichero .tar.

  3. Si me llega un fichero .tar puedo añadir la imagen a mi repositorio local:

    $ docker load -i myapache2.tar          
    6a30654d94bc: Loading layer [=============================================>]  132.4MB/132.4MB
    Loaded image: josedom24/myapache2:v1

Distribución usando Docker Hub

  1. Autentificarme en Docker Hub usando el comando docker login.

    $ docker login 
    Login with your Docker ID to push and pull images from Docker Hub...
    Username: josedom24
    Password: 
    ...
    Login Succeeded
  2. Distribuir ese fichero subiendo la nueva imagen a DockerHub mediante docker push. Nota: El nombre de la imagen tiene que tener como primera parte el nombre del usuario de DockerHub que estamos usando.

    $ docker push josedom24/myapache2:v2
    The push refers to repository [docker.io/josedom24/myapache2:v2]
    6a30654d94bc: Pushed 
    4762552ad7d8: Mounted from library/debian 
    latest: digest: sha256:25b34b8342ac8b73058aa07ec935dcf5d33db7544da9a216050e1d2077a size: 741
  3. Ya cualquier persona puede bajar la imagen usando docker pull.