Despliegue con Docker

¿Qué es Docker?

Es un mecanismo mediante el cual se empaquetan aplicaciones con todas las librerías y recursos necesarios. Esta tecnología nos permite ejecutar aplicaciones de forma aislada. A un contenedor se le facilita acceso a los recursos que necesita.

Arquitectura, Containers vs Virtual Machines




Definición de imágenes, Dockerfile, Docker Compose y Dockerhub

Docker Compose

  • Herramienta que permite gestionar múltiples contenedores de Docker de forma simultanea. 
  • Es capaz de crear, arrancar, parar, borrar múltiples con un solo comando y un fichero de configuración (docker-compose.yml).
  • Comando: docker-compose up -d
  • Tip: cuando Docker se atasca en descargar un layer, usar el siguiente comando "sudo service docker restart"

Dockerfile

  • Es un archivo de definición de imagen
  • Toma imagen parte de otra imagen (imagen base es "alpine")

  • Comandos
  • abc

Imágenes docker

  • La instancia de una imagen se denomina contenedor

Ejecutando Build, Push, Push y otros comandos

  • docker help 
  • Ver imagenes: docker images
  • Descargar una imagen: docker pull
  • Ver contenedores en ejecución: docker ps
  • Detener todo los contenedores: docker stop $(docker ps -q)
  • Eliminar contenedores: docker rm $(docker ps -aq) -f
  • Limpiar recursos: docker system prune -a

Las contenedores deben correr en background, como si fuera un servicio.
docker run -d -p 8086:80 --name nginx-devops nginx:alpine

docker exec -it b2137459629c bash


Ejercicio: Crear contenedor de jenkins con las siguientes características:

  • Nombre: jenkins-dev
  • Puerto: 9999
  • En background
  • Volumen: jenkins_home
  • Tag:lts-jdk17
docker run -d -p 9999:8080 --name jenkins-dev -v $PWD/jenkins_home:/var/jenkins_home jenkins/jenkins:lts-jdk17

Taller: Dockerizar una aplicación

  • Siempre usar una versión LTS (versión estable)

Comments

Popular posts from this blog

Week #1: Definición de objetivos, desglose de trabajo

Week #2: Azure App Service

Registro de Excepciones