Our Blog

Docker: Distribucion de las imagenes

Un gran problema que se nos plantea a la hora de usar Docker es como hacemos para poder distribuir las imágenes que generamos, para este problema hay dos soluciones: por medio del repositorio de imágenes de Docker o por medio de archivos .tar

Repositorio de imágenes en Docker

Docker cuenta con un variado repositorio de imágenes, algunas de las cuales son oficiales (quiere decir que las empresas propietarias de esa plataforma/herramienta son las encargadas de crear y subir la imagen al repositorio como ser el caso de Ubuntu, Centos, Postgres, Mysql, MongoDb y WordPress entre otros) y otras no lo son pero de igual manera funcionan de una manera correcta.

Dentro de lo que es el repositorio de Docker hay dos opciones a la hora de compartir imágenes:

  • Creando un repositorio publico en el que todas los usuarios pueden descargarse una copia de la imagen sin necesidad de un usuario/contraseña.
  • Creando un repositorio privado en el que las personas que cuenten con el usuario/contraseña podrán primeramente logearse y luego descargase las imágenes necesarias.  En esta forma de distribución de imágenes existe una contra que es para tener mas de un repositorio privado deberemos pagar un función de los que necesitemos, si bien vale aclarar que al generar una cuenta en el Docker Hub se nos da de regalo un repositorio privado para usar.

La forma de subir las imágenes que generamos a nuestro repositorio privado es la siguiente:

  1. Deberemos logearnos dentro de nuestro repositorio
    sudo docker login
  2. Luego de colocar nuestro usuario/contraseña y deberemos hacer un push de la imagen para que envié esa imagen al repositorio
    sudo docker push repositorio/nuevaImagen

Una de las ventajas con las que cuenta la utilización de este repositorio ya sea de forma publica o privada es que se puede vincular a una cuenta de Github en la cual se pueden subir dockfiles (son archivos que poseen una serie de instrucciones a ejecutar por Docker y que dará como resultado una nueva imagen) encargándose el Docker Hub de compilar la imagen y guardarla en el repositorio. Esto puede ser una gran ventaja ya que si uno cuenta con una imagen base y lo que hace es ir agregándole cosas y no es necesario mas nada que una configuración básica nos evitaremos tener que subir una gran cantidad de MB a través de internet.

Archivos Tar

Esta forma de distribución de imágenes es la mejor si las mismas manejan información sensible, ya que por cuestiones de seguridad de algunas empresas no ven con buenos ojos subir información a Internet. La forma de hacerlo es bastante sencilla:

  1. Exportación: Ejecutamos el comando docker save nombreImagen > nombreImagen.tar por medio de este comando nos generara un archivo .tar en el directorio donde nos encontramos parados.
  2. Importación: Ejecutamos el comando docker load < nombreImagen.tar lo cual nos importara la imagen dentro de nuestro repositorio local.

Algo a tener en cuenta con este tipo de distribución es que al no estar registradas en ningun repositorio el nombre de las mismas como así también la versión solo son validos en la maquina en la que fueron creadas, en otras palabras cualquier otra persona que importe esa imagen a su entorno de trabajo deberá colocarle un nombre y una versión en caso contrario les aparecerá como <none>:<none>. Para realizar esto ultimo hay que hacer lo siguiente:

  1. Averiguar el id de la imagen que queremos tagear para lo cual deberemos ejecutar el comando docker ps
  2. Una vez obtenido el id deberemos ejecutar docker tag idImagen nombreImagen:nombreVersion

Una vez hecho estos pasos la imagen tendrá el nombre que le hallamos asignado, de esto ultimo se desprende que cada persona puede identificar con un nombre distinto a una imagen de Docker pero el id de la misma no cambia entre usuarios.

No comments
TeraswapDocker: Distribucion de las imagenes

Related Posts