Introducción a docker


Iniciamos con docker, donde conoceremos los temas que vamos a trabajar en este curso, aprenderemos a usar este gestor de contenedores con todas sus funcionalidades

oscar Escrito por oscar 31 May 2020 2586 0

Acerca del proyecto

En este post vamos a exponer los links de los temas sobre el curso de docker, básicamente vamos a conocer esta herramienta que permite empaquetar aplicaciones para desplegarlas fácilmente en producción. La facilidad que nos da docker es el uso de contenedores, los cuales son recursos que se encuentran aislados de los servicios que se ejecutan normalmente en un sistema operativo, lo que permite tener sus propios servicios de infraestructura de red, archivos de almacenamiento, espacio en el disco y su propio identificador de espacio, lo que permite que múltiples contenedores compartan un mismo núcleo pero cada uno está restringido a una cantidad definida de recursos como lo puede ser la cpu, la memoria, conexiones de red, entre otros.[1]

En este curso vamos a tener una recopilación de proyectos, con su explicación de cada una de las funcionalidades que nos proporcionan docker. Vamos a comenzar desde crear un simple contenedor a partir de una imagen, aprendiendo cómo se descarga, ejecuta y entender su funcionamiento.

Contenido del curso

A continuación tenemos el listado de todos los contenidos qué vamos a tratar a lo largo del curso, se ha dejado en diferentes post para poder tratar con más detalle cada uno de los conocimientos y poder entender cada funcionalidad.

Link Descripción

¿Qué es docker?

Hablemos de docker

Docker es una plataforma de software que utiliza contenedores para crear, desplegar y administrar aplicaciones de manera eficiente y portátil. Los contenedores son una forma de virtualización que permite que las aplicaciones se ejecuten en un entorno aislado y portátil. Docker automatiza la creación y gestión de contenedores, lo que facilita el desarrollo, pruebas y despliegue de aplicaciones en cualquier plataforma que tenga Docker instalado. Además, Docker ofrece herramientas y servicios para automatizar tareas comunes, lo que puede ayudar a reducir costos y acelerar el ciclo de desarrollo de aplicaciones.

¿Qué es una imagen en docker?

La teoría la puede encontrar en el link al artículo.

Algunos comandos son:

Listar imagenes docker.

docker images

 Descargar una imagen desde algun repositorio privado o público.

docker pull nginx

Subir una imagen a un repositorio privado o público.

docker push <REPOSITORIO/NOMBRE_IMAGEN:VERSION>

Permite crear una imagen a partir de un dockerfile.

Docker build

Elimina una imagen del repositorio local.

docker rmi <REPOSITORIO/NOMBRE_IMAGEN:VERSION>
¿Qué es un contenedor docker?

Estos son los comandos básicos:

Listar contenedores.

docker ps

Eliminar un contenedor.

docker rm <ID_O_NOMBRE>

Ver los logs de un contenedor.

docker logs <ID_O_NOMBRE>

Obtener información de un contenedor.

docker inspect <ID_O_NOMBRE>
Ciclo de vidal del contenedor docker
  • docker create: CREATE -> docker start: START - RUNNING
  • docker run: START - RUNNING
  • docker restart: DIE - RESTART
  • docker pause: PUASE -> docker unpause: UNPAUSE - RUNNING
  • docker stop: STOP
  • docker stop: STOP -> docker start: START - RUNNING
  • docker stop: STOP -> docker rm: DESTROY - DELETE
  • docker create: CREATE -> docker rm: DESTROY - DELETE
  • docker kill: KILL - STOPPED -> docker rm: DESTROY - DELETE

Instalar docker

Link Descripción
Instalar docker en windows Encontarra el paso a paso de la instalación de docker en windows
Instalar docker en linux La instalación la realizamos desde get docker, el cual funciona para cualquier distribución de linux.

Comandos

Link Descripción

Docker hola mundo

Docker comandos básicos

Podemos descargar y listar la imagen de ubuntu con los comandos mencionados anteriormente. 

Ejecutamos una imagen.

docker run ubuntu echo "hola codigoelectronica"

Vincularse a un contenedor al ejecutar.

docker run -it ubuntu bash

Vincularse a un contenedor en ejecución.

docker exec -it f307 bash

Ejecutar comandos en contenedor docker

docker run --rm  ubuntu ls
Docker commit

Realizamos el commit de un contenedor 

docker commit 5c7f1a275729 ubuntu:update
dockerfile En este post vamos a aprender la definición y el concepto de un dockerfile, donde veremos cuáles son las instrucciones necesarias y básicas
Docker build

Pordemo construir una imagen de un docker file con el siguiente comando

docker build .
Docker hub, hacer pull y push de imágenes

En este posts trabajamos con docker hub

Descargamos una magen con:

docker pull debian

Cargamos una imagen con:

docker push codigoelectronica/ubuntu-update:v1

Volúmenes

Link Descripción
Volúmenes en docker

Crear volumen

docker volume create MY_VOLUME

Listar volúmenes

docker volume ls

Asignar volumen 

docker run -d --name volumentest-2 -v mi-volumen:/app nginx:latest
Localización de volúmenes de datos en Docker Desktop (Windows)

Los volúmenes se guardan en el directorio de windows 

\\wsl$\docker-desktop-data\data\docker\volumes
Backup de volúmenes en docker En este artículo vamos a realizar el backup de volúmenes en docker usando el parámetro --volumes-from

Redes en docker

Link Descripción
Redes en docker En este contenido vamos a dar la introducción de los distintos tipos de redes que nos ofrece docker y los distintos métodos de conexión o enlazado entre contenedores que tenemos a nuestra disposición

Proyectos en docker

Link Descripción
Primeros pasos con jenkins y docker

 Podemos crear un contenedor con el siguiente comando

docker run --rm --volume jenkinsdata:/var/jenkins_home -p 8000:8080 -p 50000:50000 --name jenkins-server jenkins/jenkins:lts
Phalconphp con docker En el post, explico a detalle como hacer la instalación y configuración de este framework
Instalar node-red en docker

 Podemos crear contenedores para ejecutar node red

docker run -d --rm -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red
Instalar postgresql en docker Creamos un docker compose para el contenedor de postgresql

Referencias

[1] docker https://www.docker.com/why-docker, Consultado Mayo 2020


Comentario

Debe aceptar antes de enviar