martes, 26 de mayo de 2020

Instalación y primeros pasos en Docker

Hola, ha pasado mucho tiempo desde la última vez que escribí un tema y muchas cosas han pasado. Voy a tratar de subir material nuevamente. Estos últimos años ha crecido una corriente empujando las nuevas tecnologías hacia la automatización, sobre todo enfocándose en el código y menos en la infraestructura. Es así como muchos (incluyéndome) hemos tenido que dejar de lado algunas de nuestras antiguas labores, por decirles que hace años que no piso un datacenter, enfocarnos en desarrollar nuevos procesos para automatizar la entrega de infraestructura y su puesta en marcha, con ayuda de la virtualización. También ha nacido otro "cargo", los famosos "DevOps", aunque hago mucho de eso no me considero uno.

Esta vez voy comenzar con algo relativamente sencillo, crear un contenedor docker en RHEL 7. Los contenedores nos permiten abstraernos de la infraestructura y generar "servicios" en segundos.

Requisitos:
- Centos 7.X instalado al mínimo.

Comenzamos con el primer paso:
1.- Actualizar Centos e instalar paquetes básicos necesarios

yum install -y yum-utils wget vim net-tools git
yum –y update
reboot

2.- Paso, desactivar Selinux con vi o nano.

vi /etc/selinux/config
SELINUX=disabled

3.- Bajar Firewall

systemctl stop firewalld
systemctl disable firewalld

4.- Instalar repositorio Epel.

yum -y install epel-release
sed -i -e "s/^enabled=1/enabled=0/" /etc/yum.repos.d/epel.repo

5.-Instalar docker y habilitar servicio.

yum -y --enablerepo=epel install docker
systemctl start docker
systemctl enable docker

6.- Máquina Nginx de ejemplo: Con el primer comando buscamos el contener de nginx en el registro (público), luego bajamos la imagen y la hacemos correr, está se llamará "nginx01".

docker search nginx
docker pull nginx
docker run --name nginx01 --detach nginx

7.- Ahora para poder usar contenido y publicar el servicio en la IP de nuestra máquina podemos hacer lo siguiente, crear un directorio y enlazarlo al contener.

docker run --name nginx01 -p 80:80 -v /root/htdocs/:/usr/share/nginx/html:ro -d nginx

Con esto podemos subir contenido a nuestro contenedor nginx, copiando archivos html en /root/htdocs.

Algunos comandos utiles:

Mostrar images descargadas

docker images

Listar contenedores en proceso

docker ps
docker ps -a

Detener un contenedor

docker stop nginx01

Eliminar un contenedor

docker rm nginx01

Espero sea útil y les haya gustado.