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")
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
Post a Comment