Apuntes Docker
- Instalar Docker Desktop
- 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