Вы находитесь на странице: 1из 27

Docker

Contenedores
¿Qué problemas
atiendes con Docker?
Despliegues
¿Si puedo virtualizar,
no sería lo mismo?
Lo
tendrías
que hacer
con todo
el sistema
operativo
¿Qué es docker?

Docker es un proyecto que


permite la creación de paquetes
estándar pensados para el
despliegue llamados
“contenedores”, que incluyen
todo lo necesario para que una
aplicación funcione
(dependencias, servicios) y que
aíslan el sistema subyacente
para lograr que siempre
funcione exactamente igual.
Arquitectura de Docker en Linux Server

Los contenedores son un


paquete de elementos que
te permite crear un entorno
donde correr aplicaciones
independientemente del
sistema operativo
Requisitos para la instalación de Docker

Requisitos para la instalación de Docker en Linux Server

Requisitos del Sistema:

● Sistema operativo: Ubuntu Server 18.04


● RAM: 2GB (Mínimo)
● Espacio en Disco: 20 GB (Mínimo)
Pasos Generales para la instalación de
Docker

Configurar la máquina virtual

Instalar Ubuntu Server 18.04

Configurar la Red por Sistema Operativo

Instalar Docker

Instalar una imagen

Instalar un contenedor

Asegurar la conectividad de Docker


Instando Docker
1. Copiar el archivo docker-compose en la ruta local
Instando Docker

2. Acceder como usuario root y mover el archivo docker-compose a la carpeta


/usr/local/bin/

Comando: sudo su
Comando: ls
Comando: cp docker-compose /usr/local/bin/
Instando Docker

3. Dar permisos para ejecución al docker-compose

Comando: chmod +x /usr/local/bin/docker-compose


Instando Docker

4. Verifica si el usuario con el que ingresaste puede ver la versión de


docker-compose

Comando: su vector
Comando: pwd
Comando: docker-compose --version
Instando Docker

5. Instalamos el docker.io

Comando: apt install docker.io


Instando Docker

6. Adicionamos al usuario vector al grupo docker

Comando: usermod -aG docker vector


Dockerfile

FROM java:8

EXPOSE 8080

ADD /SpringDocker.war springdocker.war

ENTRYPOINT ["java", "-jar", "springdocker.war"]

Dockerfile un documento de texto que contiene todos los comandos que un


usuario puede llamar en la línea de comandos para ensamblar una imagen.
Abrir un puerto en Ubuntu Server 18.04

1. Instalamos el firewalld y luego habilitamos el puerto 80 y el puerto 8081, para


ello nos logueamos como usuario root:
Comando: sudo su
Ingresar el password.

Ahora instalamos el firewalld:Comando: sudo su


Ingresar el password.

Ahora instalamos el firewalld:


Comando: apt install firewalld
Cuando nos pregunte si deseamos instalar, respondemos que sí: Y
Abrir un puerto en Ubuntu Server 18.04

Abrimos los puertos 80 y 8081 con los siguientes comandos:

Comando: firewall-cmd --permanent --add-port=80/tcp

Comando: firewall-cmd --permanent --add-port=8081/tcp

Comando: firewall-cmd --reload


Redes en Docker

Existen 3 redes preconfiguradas en Docker,

● Bridge. La red standard que usarán todos los contenedores.

● Host. El contenedor usará el mismo IP del servidor real que tengamos.

● None. Se utiliza para indicar que un contenedor no tiene asignada una red
Redes en Docker

Para ver los tipos de Redes

Comando: docker network ls

Para ver las características de la red Bridge

comando: docker network inspect bridge


Redes en Docker

Al instalar Docker, se configura automáticamente para usar la red 172.17.0.xx, el


propio servidor docker es 172.17.0.1 y cada contenedor corriendo adquiere un IP
posterior al último (172.17.0.2-254).

Comando:

docker inspect -f ' { {range.NetworkSettings.Networks } } { { .IPAddress } } { { end }


} ' 092d7808fec2
Asegurando la conectividad del Docker

Cuando se deja de recibir llamadas, los servicios en docker entran en


hibernación, esto se corrige aplicando los comandos a continuación:

● Comando: apt install bridge-utils


● Comando: pkill docker
● Comando: iptables -t nat -F
● Comando: ifconfig docker0 down
● Comando: brctl delbr docker0
● Comando: service docker restart
● Comando: reboot
Asegurando la conectividad del Docker

Comando: service network-manager restart

Comando: docker ps

Vemos la activación a nivel de servicio: docker.service

Comando: systemctl status docker


Asegurando la conectividad del Docker

Seguidamente activamos el servicio docker para que al reinicio del servidor ya


se ejecute automáticamente:

Comando: systemctl enable docker


Asegurando la conectividad del Docker

Y vemos la activación a nivel de servicio: docker.service

Comando: systemctl status docker


Comandos de Docker más usados
Lista los contenedores activos

● Comando: docker ps

Lista los contenedores activos e inactivos

● Comando: docker ps -a

Encender, apagar y ver el log del contenedor:

● Comando: docker start ID_Contenedor


● Comando: docker stop ID_Contenedor
● Comando: docker logs ID_Contenedor
Caso práctico

1. Nos ubicamos en la carpeta donde esta el Dockerfile

Comando: cd deploy/spring-rest-hello-world

2. Generamos la imagen:

Comando: docker build -t "spring-hello:world" .

3. Corremos la imagen como un contenedor:

docker run -dti --name "spring" -p 8080:8080 "bc50caab294d"


¿Cómo compartir datos?

Para compartir datos entre diferentes contendores y la máquina local tenemos


dos opciones:

Volúmenes de datos, independientes a la vida de un contenedor.

Contenedores de volúmenes de datos, recomendable para compartir datos entre


contenedores.
Muchas Gracias

Preguntas?

Вам также может понравиться