Amado

Apuntes Docker

  1. Instalar Docker Desktop
  2. https://hub.docker.com/ para sacar las imagenes

Ver imágenes 

docker images

Hacer un pull de imagenes

docker pull node:18 //node es el nombre de la imagen, 18 es la version

Remover imagenes

docker image rm node

Crear e iniciar un contenedor

docker create mysql //esto devuelve un hash

docker start aasd9asf67868asd6f78sdf //ahi se ingresa el hash para generar el contenedor

Ver contenedor

docker ps //muestra contenedores activos

docker ps -a //muestra todos los contenedores

Detener contenedor

docker stop 8797sfds76 //aca se ingresa el container id 

Renombrar un contenedor

docker create --name pepe mongo //nombre de contenedor, nombre de imagen

Port mapping

Permite que un contenedor sea accesible desde el exterior, redirigiendo o "mapeando" los puertos del contenedor a los puertos del host.

docker create -p27017:27017 --name conName mongo 
//el primero es el puerto de nuestro equipo que se va a mapear al contenedor, el segundo es el puerto del contenedor al cual vamos a mapear}
//nombre del contenedor, nombre de la imagen base

Ver logs de contenedores

docker logs conName //muestra los logs generados hasta el momento y te devuelve al promt

docker logs --follow conName //queda a la escucha por si se generan mas logs

Inicio rapido

Esto crea una imagen (si es que no existe), crea el contenedor y lo inicializa

docker run -d mongo

//lo mismo pero especificando cada cosa
docker run --name conName -p27017:27017 -d mongo

Archivo de configuracion

Dockerfile

FROM node:18

RUN mkdir -p /home/app //directorio dentro del sistema linux del contenedor

COPY . /home/app //indica la ruta de origen del código y la de destino

EXPOSE 3000 //puerto donde corre la aplicación

CMD ["node", "/home/app/index.js"] //comando que para que se ejecute la aplicación

Redes de contenedores

docker network ls //lista las redes

Crear red

docker network create mired