Post-Image

Comandos básicos para usar un Docker registry

Las plataformas que actualmente trabajan con contenedores hacen uso de un registro de imágenes para poder realizar los despliegues, este registro puede ser público o privado. El registro publico utilizado y más famoso es DockerHub, ya que es la plataforma oficial pública para los contenedores basados en Docker.

En primer lugar lo más recomendable es disponer de un registry privado que nos permita subir las imágenes que creamos nosotros sin exponer datos al público y evitar posibles brechas de seguridad. Para ello tendremos que desplegar uno.

En la propia documentación de Docker nos indican como desplegar un registry ( https://docs.docker.com/registry/deploying/#start-the-registry-automatically )

1
2
3
4
5
docker run -d \
  -p 5000:5000 \
  --restart=always \
  --name registry \
  registry:2

Tendremos que crear un fichero de configuración para poder declarar nuestro registry como inseguro, ya que no vamos a utilizar SSL firmados o directamente en algunos casos no vamos a utilizar SSL.

File: /etc/docker/daemon.json

1
2
3
{
    "insecure-registries" : [ "registry.local:5000" ]
}

Un vez tengamos nuestro registry necesitamos crear nuestros DockerFile para construir la imagen y subirla al mismo.

Podemos utilizar una base pública para construirla o bien hacer un pull de alguna imagen oficial (Centos, Ubuntu, …)

Primero realizamos la construcción de nuestro DockerFile

1
docker build -t myapp:0.1 -f DockerFile .

En segundo lugar tenemos que crear una tag con nuestra url de registry

1
docker tag myapp:0.1 registry.local:5000/myapp

Y por ultimo tendremos que subir la imagen.

1
docker push registry.local:5000/myapp

Ya tenemos nuestra imagen de Docker en nuestro registry privado.