Está en la página 1de 14

Tegucigalpa, M.D.

Introducción a:
Docker

10/05/2022
Docker

Docker es una plataforma de software que le permite crear, probar e implementar


aplicaciones rápidamente. Docker empaqueta software en unidades estandarizadas
llamadas contenedores que incluyen todo lo necesario para que el software se ejecute,
incluidas bibliotecas, herramientas de sistema, código y tiempo de ejecución. Con
Docker, puede implementar y ajustar la escala de aplicaciones rápidamente en cualquier
entorno con la certeza de saber que su código se ejecutará.

Cómo funciona Docker


Docker le proporciona una manera estándar de ejecutar su código. Docker es un sistema
operativo para contenedores. De manera similar a cómo una máquina virtual virtualiza
(elimina la necesidad de administrar directamente) el hardware del servidor, los
contenedores virtualizan el sistema operativo de un servidor. Docker se instala en cada
servidor y proporciona comandos sencillos que puede utilizar para crear, iniciar o
detener contenedores.
Instalación de Docker:

Entramos a la pagina oficial y descargamos el Docker Desktop.

Diferencias entre Docker y Maquinas Virtuales (VMs):


La idea de una maquina virtual es que se pueda correr la aplicación junto con el sistema
operativo esto va a correr sobre un hipervisor y una infraestructura.

La idea de Docker es sacar una de esas capas de la ecuación y vamos simplemente a


correr la aplicación junto con los archivos que necesita esa aplicación para correr.
Docker corre un contenedor atraves de una imagen la cual va a contener el Sistema
Operativo, el software que nos va a permitir correr la aplicación, y la aplicación en si.

Las imágenes se generar mediante un Dockerfile el cual es un archivo que contiene una
serie de instrucciones que indicar como crear una imagen.

Imágenes en Docker y docker run:

Comando: Docker run + “nombre de la imagen”


Comandos más comunes de Docke:

Comando: Docker pull - Permite descargar una imagen.

Comando: Docker images – Muestra las imágenes que están corriendo .

Comando: Docker ps -a – Muestra todos los contenedores que están corriendo.

Comando: Docker start + “id o nombre del contenedor” – Comando para iniciar un
contenedor.
Comando: Docker logs + “id o nombre del contenedor” – Muestra los Logs del
contenedor.

Comando: Docker exec -it + “id o nombre del contenedor” – Ejecuta un comando
dentro de un contenedor que ya esta corriendo.

Comando: Docker stop + “id o nombre del contenedor” – Detiene un contenedor que
se esté ejecutando.

Comando: Docker run -d + “id o nombre del contenedor” – Corre un contenedor en


background.
Usando puertos en Docker:
Comando: Docker run -dp 3000:3000 + “id o nombre del contenedor” – Corre una
imagen en background utilizando el puerto 3000.

Volúmenes en Docker:
Comando: Docker run -d -v + “el directorio de la aplicación” -p 3000:3000 + “id o
nombre del contenedor” – Corre un volumen con la imagen que creamos utilizando el
puerto 3000.

Esto se utiliza para que al momento de detener nuestro contenedor no se pierda la


información de los registros que nosotros hemos creado y tener nuestros datos
persistentes.

Docker build y Docker push:


Comando: Docker build -t + “id o nombre del contenedor” + el tags (versión de la
aplicación) – Construir la imagen.
Para compartir la imagen con alguien mas, para esto se debe de subir a un registro. Se
debe de utilizar Docker Hub.
Nos registramos y creamos un repositorio

Luego nos logueamos con el siguiente comando


Comando: Docker login – Loguearse dentro de la aplicación.

Comando: Docker push + “Nombre de usuario de Docker hub” / – Loguearse dentro


de la aplicación.
Corriendo varios containers a la vez:
Esto se realiza ya que es muy normal que corramos nuestra aplicación y nuestra Base
de Datos en distintos contenedores y queremos que se comuniquen entre si.
Para esto primero debemos de crear una Network ósea una red Docker para que los
contenedores se puedan comunicar entre ellos.

Comando: Docker network create + “el nombre que queramos para la red”– Crea una
red en Docker.

Comando: Docker run -d –network + “nombre de la red que acabamos de crear” + “la
configuración de mysql” – Iniciar una imagen de mysql.

docker-compose:
Implementar Docker en nuestra aplicación

Instalar docker desktop si usas windows 10:


Para esto debemos descargar Docker Desktop en nuestro ordenador desde la pagina
oficial de Docker: https://docs.docker.com/desktop/windows/install/

Damos en el archivo descargar y luego de finalizar la instalación reiniciamos nuestro


ordenador.
Nota: Debemos tener habilitado la virtualización en nuestro ordenador para que
funcione Docker.

Si nos aparece este error debemos descargar la última versión de WSL2.


https://docs.microsoft.com/es-es/windows/wsl/install

Luego debemos habilitar el WSL2, para esto abrimos PowerShell y ejecutamos el


siguiente comando: Enable-WindowsOptionalFeature -Online -FeatureName
$("VirtualMachinePlatform", "Microsoft-Windows-Subsystem-Linux")
Creación de un Dockerfile:
En nuestra aplicación en la carpeta principal damos en crear nuevo archivo y lo
nombramos como Dockerfile

Y agregamos la siguiente configuración para crear nuestra imagen:


Y por último agregamos un plugin en nuestro pom.xml, lo cual nos servirá para que al
momento de correr nuestra aplicación se genere la imagen automáticamente.

Documentación:

• https://hub.docker.com/_/openjdk
• https://spring.io/guides/topicals/spring-boot-docker/

También podría gustarte