Si es un administrador de sistemas Linux que brinda soporte a desarrolladores, es probable que haya oído hablar de Docker . De lo contrario, esta solución de software le facilitará la vida a partir de hoy al ayudarlo a reducir los costos operativos y acelerar las implementaciones, entre otros beneficios.
Pero no es magia. Docker como plataforma aprovecha los contenedores: paquetes de una aplicación junto con todas las herramientas que necesita ejecutar para eliminar las diferencias entre entornos.
En otras palabras, el software en contenedores funcionará y se puede administrar de manera uniforme independientemente de dónde esté instalado. Además, los contenedores son mucho más fáciles de configurar, iniciar, detener y mantener que las viejas máquinas virtuales. Si está interesado en saber más sobre las diferencias entre estas dos tecnologías, el sitio web oficial de Docker ofrece una gran explicación.
Para ilustrarlo, en este artículo explicaremos cómo instalar Docker en CentOS 7 y Ubuntu 16.04 , y cómo poner en marcha un contenedor Apache 2.4 desde Docker Hub .
Luego lo usaremos para servir una página web simple desde nuestro directorio de inicio, todo sin la necesidad de instalar un servidor web en nuestro host.
Instalación de Docker en CentOS y Ubuntu
Para comenzar, instalemos Docker usando el siguiente comando. Esto descargará y ejecutará un script de shell que agregará el repositorio de Docker a nuestro sistema e instalará el paquete.
# curl -fsSL https://get.docker.com | sh
A continuación, use el comando systemctl para iniciar el servicio principal de Docker y verifique su estado.
# systemctl start docker # systemctl status docker
En este punto, simplemente podemos ejecutar.
# docker
para ver la lista de comandos disponibles o para obtener ayuda.
# docker COMMAND --help # docker ps --help
nos dirá cómo enumerar los contenedores presentes en nuestro sistema, mientras que
# docker run --help
imprimirá todas las opciones que podemos usar para manipular un contenedor.
Configuración de un contenedor Apache
Una de las cosas asombrosas del ecosistema de Docker es que hay decenas de contenedores estándar que puede descargar y usar fácilmente. En el siguiente ejemplo, crearemos una instancia de un contenedor Apache 2.4 llamado tecmint-web , separado del terminal actual. Usaremos una imagen llamada httpd: 2.4 de Docker Hub .
Nuestro plan es que las solicitudes realizadas a nuestra dirección IP pública en el puerto 8080 se redirijan al puerto 80 en el contenedor. Además, en lugar de ofrecer contenido desde el propio contenedor, proporcionaremos una página web simple desde / home / user / website .
Hacemos esto mapeando / home / user / website / en / usr / local / apache2 / htdocs / en el contenedor. Tenga en cuenta que deberá usar sudo o iniciar sesión como root para continuar, y no omita las barras inclinadas al final de cada directorio.
# sudo docker run -dit --name tecmint-web -p 8080:80 -v /home/user/website/:/usr/local/apache2/htdocs/ httpd:2.4
En este punto, nuestro contenedor Apache debería estar en funcionamiento.
$ sudo docker ps
Compruebe el contenedor de Apache Docker
Ahora creemos una página web simple llamada <strong>docker.html</strong> dentro del <strong>directorio </strong>/ home / user / website .
# vi /home/user/website/docker.html
Agregue el siguiente contenido HTML de muestra al archivo.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Learn Docker at Tecmint.com</title> </head> <body> <h1>Learn Docker With Us</h1> </body> </html>
A continuación, apunte su navegador a AAA.BBB.CCC.DDD: 8080 / docker.html (donde AAA.BBB.CCC.DDD es la dirección IP pública de su host). Debería aparecer la página que creamos anteriormente.
Compruebe la página de Apache
Si lo desea, ahora puede detener el contenedor.
$ sudo docker stop tecmint-web
y eliminarlo:
$ sudo docker rm tecmint-web
Para finalizar la limpieza, es posible que desee eliminar la imagen que se usó en el contenedor (omita este paso si planea crear otros contenedores de Apache 2.4 pronto).
$ sudo docker image remove httpd:2.4
Tenga en cuenta que en todos los pasos anteriores nunca tuvimos que instalar el servidor web en nuestro host.
Resumen
En este artículo explicamos cómo instalar Docker y manipular un contenedor. Desafortunadamente, estos son solo los conceptos básicos: hay cursos completos, libros y exámenes de certificación que cubren los Dockers (y los contenedores en general) con más profundidad.
Si desea obtener más información sobre Docker, ya hemos cubierto una serie de 3 artículos que explica cómo instalar Docker, ejecutar aplicaciones en contenedores y crear automáticamente imágenes de Docker con dockerfile.
- Instale Docker y aprenda la manipulación básica de contenedores en CentOS y RHEL 7/6
- Cómo implementar y ejecutar aplicaciones en contenedores Docker en CentOS / RHEL 7/6
- Cree y configure automáticamente imágenes de Docker con Dockerfile en CentOS / RHEL 7/6
- Cómo eliminar imágenes, contenedores y volúmenes de Docker
Considere esto como su punto de partida y avísenos si tiene alguna pregunta o comentario. ¡Esperamos tener noticias suyas!
Estibador