Cómo utilizar Docker para implementar contenedores
Imagínese que para lanzar un sitio web, no necesita instalar un servidor completo desde cero. En lugar de instalar un sistema operativo, luego instalar software de servidor y luego implementar una aplicación o un sitio web elaborado, se desarrolla todo en un solo paquete y se implementa con un solo comando.
Esta es una de las muchas ventajas de utilizar contenedores. Hacen que los ciclos de desarrollo e implementación sean increíblemente eficientes. Pero, ¿cómo se implementan estos contenedores? Quiero guiarte a través del proceso aquí. Nos centraremos en implementar un servidor web NGINX básico como contenedor en Ubuntu Server 18.04. Todo esto se hará con la ayuda de Docker.
Para implementar NGINX como contenedor con éxito, necesita:
- Una instancia en ejecución de Ubuntu Server 18.04 con Docker instalado.
- Un usuario que pertenece al grupo Docker
Sí, con estas dos partes ya está todo listo.
Cada contenedor que implementes se basará en una imagen extraída de DockerHub. Puede desplegar imágenes individuales y utilizarlas tantas veces como sea necesario. Hay muchas más imágenes en DockerHub para aplicaciones o plataformas individuales. Tome NGINX como ejemplo. Si busca NGINX en DockerHub, obtendrá alrededor de 56172 entradas. Esto no significa que cada entrada sea una imagen utilizable que puedas utilizar.
Las imágenes se nombran de la siguiente manera:
Por ejemplo, para NGINX puede encontrar el nombre:
Quizás encuentre:
Como puedes ver, hay casi todas las imágenes que necesitas.
Antes de utilizar la imagen, debes guardarla en una unidad local. Hay dos formas de hacer esto:
- Directamente, usando el comando pull
- Indirectamente, durante el proceso de implementación del contenedor.
Para extraer una imagen de DockerHub, debe abrir una ventana de terminal y ejecutar el comando:
Si desea extraer una imagen de Ingress, el comando es:
Después de extraer la imagen que necesita, puede confirmar que existe usando el comando:
El comando anterior enumera todas las imágenes que extrajo (Figura A).
Ten cuidado al extraer imágenes aleatorias. ¿Por qué? Porque nunca se sabe por qué fueron creados. Los contenedores pueden contener código malicioso que puede causar estragos en su red o sus datos. Por lo tanto, es mejor utilizar únicamente imágenes oficiales (como imágenes NGINX).
Ahora es el momento de implementar el contenedor; llamará a la imagen requerida durante la fase de implementación si aún no lo ha hecho. Dado que estamos obteniendo la imagen oficial de NGINX, la usaremos.
Para implementar un contenedor, use el comando Docker de la siguiente manera:
NOTA:
- NOMBRE es igual al nombre que desea darle al contenedor (puede ser cualquier cosa). nombre, como nginx-webserver).
- PUERTOS Los puertos que desea utilizar (en el formato PUERTO DE RED: PUERTO DE CONTENEDOR).
- IMAGEN La imagen que utilizará el contenedor (como nginx).
Entonces, el comando básico para implementar un contenedor NGINX es:
El contenedor se implementará y el servidor web NGINX estará disponible en el puerto 80 de la red local.
¿Pero qué pasa si el contenedor ya está implementado en el puerto 80 del servidor? Puede implementar en el puerto de red 8080 de la siguiente manera:
En este punto, puede encontrar el próximo problema. La ejecución de uno de los comandos anteriores no devuelve el indicador de bash (Figura B).
¿Cómo ejecutar un contenedor y obtener el indicador de bash? Para hacer esto, debe ejecutar el contenedor en modo independiente. Antes de hacer esto, debe finalizar el contenedor actual usando la combinación de teclas del teclado [Ctrl]. Esta combinación devolverá el mensaje y eliminará el contenedor.
Para determinar si un contenedor se está ejecutando, use el comando:
Enumerará todos los contenedores y su estado (Figura C).
Si el contenedor aún se está ejecutando, debemos finalizarlo antes de implementar otro contenedor en el mismo puerto (de lo contrario, los puertos entrarán en conflicto y el contenedor no se implementará). Para eliminar un contenedor en ejecución, primero necesita el ID del contenedor (una cadena aleatoria). Esta cadena se mostrará al ejecutar el comando docker ps -a. Para finalizar un contenedor en ejecución, utilice el comando:
donde CONTAINER_ID es el ID del contenedor.
Luego puede usar el comando:
donde CONTAINER_ID es el ID del contenedor.
Tenga en cuenta que no es necesario introducir el ID completo del contenedor, los primeros cuatro caracteres de la cadena son suficientes.
Ahora, para implementar el contenedor en modo separado, el comando es:
Esta vez, no solo se le solicitará, sino que Docker también le mostrará el ID del contenedor (Figura D ).
¿Qué pasa si quieres trabajar en un contenedor en ejecución? Suponga que desea realizar cambios en NGINX o incluso comenzar a desarrollar el sitio web en el que se mostrará. Por tanto, hay que acceder al contenedor. Por lo tanto, necesita el ID del contenedor.
Utilizando el ID, emita el comando:
donde CONTAINER_ID es el ID del contenedor.
Ahora debería ver el mensaje Ejecutar contenedor (Figura E), donde puede comenzar a usar el servidor NGINX.
Para salir de un contenedor, simplemente escriba el comando de salida.
VII. Más fácil de lo que piensas
Con suerte, a esta altura ya habrás descubierto que la implementación de contenedores no es tan desafiante como pensabas. Con la ayuda de Docker, puedes iniciar versiones profesionales de aplicaciones y servicios en minutos.
Enlace original: