Si desea utilizar imágenes de acoplador como plantilla para una implementación eficaz de contenedores, Jack Wallen le muestra cómo realizar cambios en un contenedor en ejecución para crear una nueva imagen de acoplador.
Una forma en la que su empresa puede aprovechar los contenedores docker es mediante la creación de imágenes de plantilla que se utilizarán para sus contenedores. Digamos, por ejemplo, que utiliza contenedores para fines de desarrollo y desea asegurarse de que todos los contenedores desplegados empiecen con las mismas herramientas básicas. Podrías bajar una imagen, ejecutar el contenedor, modificar el contenedor para satisfacer tus necesidades, y luego empezar a desarrollar con ese contenedor, sólo para tener que ejecutar el mismo proceso, cada vez que quieras desplegar el mismo contenedor.
Nube que hay que leer
O bien, puede extraer una imagen, ejecutar el contenedor, modificarlo para satisfacer las necesidades básicas de sus desarrolladores y realizar esos cambios en una nueva imagen. Ahora todo lo que sus desarrolladores necesitan hacer es ejecutar un nuevo contenedor, basado en la imagen modificada, y están listos para empezar. No hay necesidad de modificar la imagen original para satisfacer sus necesidades.
Si eso suena como un proceso del que querrías aprovecharte, estás de suerte – es realmente muy simple. Digamos que necesita una imagen, basada en lo último de NGINX, con PHP, build-essential y nano instalado. Te guiaré a través del proceso de extraer la imagen, ejecutar el contenedor, acceder al contenedor, añadir el software y realizar los cambios a una nueva imagen que puede ser usada fácilmente como base para tus contenedores de desarrollo.
Tirando de la imagen y ejecutando el contenedor
El primer paso es sacar la última imagen de NGINX. Esto se hace con el comando:
sudo docker pull nginx
Una vez que la imagen se haya descargado, vamos a ejecutarla de tal forma que podamos usar la ventana del terminal de esta manera:
sudo docker run --nombre nginx-template-base -p 8080:80 -e TERM=xterm -d nginx
He llamado a esta base de plantillas nginx porque en eso se basará nuestra plantilla.
Acceso y modificación del contenedor
Lo siguiente que tenemos que hacer es acceder al contenedor. Cuando ejecute el comando de ejecución de la ventana acoplable, se le habrá presentado un número de identificación largo. Necesitará ese número para acceder a la imagen. Ejecute el comando:
sudo docker exec -it CONTAINER_ID bash
Donde CONTAINER_ID es el ID que se le presenta cuando ejecuta la orden de marcha.
Después de ejecutar este comando, se encontrará en el terminal del contenedor en ejecución. Ahora, añadamos el software necesario para la plantilla. Para ello, ejecute los siguientes comandos:
apt-get install nanoapt-get install build-essentialapt-get install php5
NOTA: Para la imagen oficial de NGINX, PHP 7 no está disponible para su instalación sin añadir un repositorio.
Salga del contenedor y confirme los cambios
Ahora que hemos modificado el contenedor tenemos que confirmar los cambios. Primero salga del contenedor con el comando exit. Para confirmar los cambios y crear una nueva imagen basada en dichos cambios, emita el comando:
sudo docker commit CONTAINER_ID nginx-template
Donde CONTAINER_ID es el ID que se le dio cuando inicialmente corrió el contenedor.
Si emite el comando imágenes de la ventana acoplable, debería ver ahora el nuevo contenedor .
En este punto, puede girar un nuevo contenedor, usando la nueva imagen, y tener todas las modificaciones en su lugar. Recuerde, cuando ejecute el nuevo contenedor, el comando tendrá un aspecto parecido a:
sudo docker run --nombre nginx-dev -p 8080:80 -e TERM=xterm -d nginx-template
Si accede a este nuevo contenedor en ejecución (usando el comando sudo docker exec), verá que todas las modificaciones están en su lugar y listas para ser utilizadas.
Una ruta fácil a las plantillas de contenedores
Si usted ha estado buscando una manera de hacer que el trabajo con contenedores docker sea un poco más eficiente, esto debería ser un gran paso para proporcionar exactamente eso. Una vez que se acostumbre a crear imágenes de plantilla, el desarrollo con contenedores Docker será mucho más fácil.
Boletín de noticias de Cloud Insights
Su base de conocimiento para lo último sobre AWS, Microsoft Azure, Google Cloud Platform, Docker, SaaS, IaaaS, seguridad en la nube, contenedores, la nube pública, la nube híbrida, la nube de la industria y mucho más. Lunes de entrega