GNU/Linux >> Tutoriales Linux >  >> Panels >> Docker

Cómo crear una imagen de Docker a partir de un contenedor y un archivo Docker

Docker es una herramienta de gestión de plataforma abierta para contenedores de Linux. Proporciona un medio para que los desarrolladores y administradores de sistemas creen y empaqueten aplicaciones en contenedores ligeros. Docker consta de los siguientes componentes:

  • Motor acoplable – Una herramienta de empaquetado y tiempo de ejecución portátil y ligera
  • Docker Hub – Un servicio en la nube para compartir aplicaciones y automatizar flujos de trabajo

Docker se utiliza para crear contenedores de aplicaciones basados ​​en imágenes. Los contenedores basados ​​en imágenes empaquetan una aplicación con la pila de tiempo de ejecución individual en un solo contenedor. Esto hace que el contenedor sea independiente del sistema operativo host y la versión del kernel. Como resultado, puede ejecutar la misma aplicación, sin cambios, en computadoras portátiles, máquinas virtuales de centros de datos y cualquier nube. Puede transferir este contenedor a otra máquina que ejecute Docker y ejecutar la aplicación sin ningún problema de compatibilidad.

Crear una imagen a partir de un contenedor

Puede guardar el estado actual de un contenedor como una nueva imagen mediante el “docker commit " dominio. Esto es útil si ha modificado un contenedor y desea confirmar los cambios en una nueva imagen para su uso posterior.

El ejemplo de la diapositiva crea un nuevo contenedor llamado "geeklab" a partir de la imagen de centos:7 y ejecuta el comando bash shell en el contenedor.

# docker run -i -t --name geeklab centos:7 /bin/bash
[root@873abc18f59d /]# 

Desde dentro del contenedor, el comando yum se usa para instalar el paquete httpd.

[root@873abc18f59d /]# yum install httpd

Utilice el comando de salida para detener un contenedor en ejecución.

[root@873abc18f59d /]# exit
exit

El comando "docker commit" guarda los cambios en una nueva imagen. Utilice la opción -m para proporcionar un mensaje que describa los cambios. Usa el -a opción para proporcionar información del autor. Proporcione el ID del contenedor o el nombre del contenedor, el nombre de la imagen y una etiqueta. Ejemplo:

# docker commit -m="CentOS 7 With httpd installed" -a "Geek Lab" geeklab centos7/httpd:v1
sha256:b3c42dd36e247cabcfaf134afb4765e9853ebfbe856c8d785f65cfafc9fd53cd

La salida del comando Docker Images ahora incluye la nueva imagen.

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos7/httpd       v1                  b3c42dd36e24        20 seconds ago      334 MB

Crear una imagen desde un Dockerfile

Use el comando de compilación docker para crear una nueva imagen a partir de las instrucciones contenidas en un archivo llamado "Dockerfile “. El formato del Dockerfile es:

# Comment
INSTRUCTION      arguments

La instrucción no distingue entre mayúsculas y minúsculas, pero la convención es escribir en mayúscula la instrucción para distinguirla de los argumentos. Docker ejecuta las instrucciones en un Dockerfile en orden. Construyes una nueva imagen a partir de una imagen base. La primera instrucción es FROM y especifica la imagen base a usar. Ejemplo:

FROM centos:7

Utilice la instrucción RUN para especificar los comandos que se ejecutarán en una nueva capa encima de la imagen actual y confirme los resultados. Ejemplo:

RUN yum –y install httpd

La instrucción ENTRYPOINT especifica el comando que ejecuta el contenedor creado a partir de la imagen. Ejemplo:

ENTRYPOINT /usr/sbin/httpd –D FOREGROUND

Consulte la página del manual de dockerfile para obtener una descripción de todas las instrucciones. La siguiente URL también proporciona descripciones, usos y ejemplos de todas las instrucciones de Dockerfile disponibles:https://docs.docker.com/reference/builder/.

Guardar y cargar una imagen o un contenedor

Puede crear archivos tar de imágenes y contenedores para usar en sistemas que no tienen acceso a Docker Hub. Utilice la opción "docker save Comando para guardar imágenes en un archivo tar. Puede guardar todas las imágenes en un repositorio en un archivo tar o guardar una imagen específica en un archivo tar. Cree el archivo tar redirigiendo STDOUT a un archivo tar o use la opción -o para especificar un nombre de archivo tar de salida.

El siguiente ejemplo redirige STDOUT para guardar todas las imágenes en el repositorio de centos a centos-all.tar:

# docker save centos > centos-all.tar

El siguiente ejemplo guarda la imagen centos:latest en el archivo centos-lates.tar.

# docker save -o=centos-latest.tar centos:latest

Utilice el comando docker load para cargar una imagen desde un archivo tar a un repositorio local de Docker. El siguiente ejemplo carga las imágenes del archivo centos-all.tar:

# docker load --input centos-all.tar
Guía para principiantes del mundo Docker


Docker
  1. Cómo crear, enumerar y eliminar contenedores Docker en Linux

  2. ¿Extraer archivo de la imagen de Docker?

  3. Cómo desconectarse de un contenedor Docker sin detenerlo

  4. Cómo hacer una copia de seguridad y restaurar contenedores Docker

  5. Cómo pausar y reanudar contenedores Docker

Cómo crear una imagen de Docker desde un contenedor en ejecución

Cómo crear un contenedor de aplicaciones Django Docker

Cómo crear una imagen de ventana de Docker con la etiqueta de compilación de Docker

Cómo implementar y administrar un contenedor Docker MongoDB

Cómo usar Docker Guardar imagen y exportar para compartir

Cómo crear una imagen Docker personalizada con Dockerfile