Comandos y estructuras útiles de Docker
-- IMAGENES --
docker images -Lista todas las imagenes descargadas
docker pull node -Descargara la imagen de docker de node
docker pull node:18 -Descargara la imagen de node en la version 18
mysql
mongo
docker image rm node:18 -Eliminar una imagen
-- CONTENEDORES --
docker create mongo - Crear contenedor
docker start `ID DEL CONTENEDOR` - Iniciar contenedor
docker ps - Mostrar los contenedores que estan corriendo
docker stop `ID DEL CONTENEDOR` - Detiene un contenedor
docker ps -a - Mostrar todos los contenedores creados
docker rm `ID DEL CONTENEDOR` - Eliminar un contenedor
NOTA: Podemos usar el nombre del contenedor en vez del id de este
docker create --name mongito mongo - Crear un contenedor con nombre personalizado
HOST DOKER
docker create -p27018:27017 --name mongito mongo -- [USUAL] Indicamos puerto de la maquina (Para que podamos usarlo)
docker logs mongito - Ver los logs de un container
docker logs --follow mongito - Ver los logs de forma constante
-------------------------------DOCKER RUN ---------- descarga imagen, crea contenedor y lo inicia
docker run mongo - Inicia como si fuera una shell
docker run -d mongo - Inicia en segundo plano
docker run --name mongito -p27018:27017 -d mongo
------------------------------DOCKER NETWORK ----------------------------
docker network ls - Lista redes de docker
docker network create mired - Crer red
docker network rm mired - Eliminar red
-----------------------------DOCKER FILE--------------------------------
Dockerfile
COMANDOS
docker build -t miapp:1 . -Para crear una imagen de un proyecto docker
EJEMPLO DE ARCHIVO:
FROM node:18
RUN mkdir -p /home/app
COPY . /home/app
EXPOSE 3000
CMD ["node","/home/app/index.js"]
----------------------------DOCKER COMPOSE-----------------------------
docker-compose.yml
EJEMPLO ARCHIVO:
version: "3.9"
services:
appnode:
build: .
ports:
- "3000:3000"
links:
- mysql_pink
mysql_pink:
image: mysql
ports:
- "3307:3306"
- "33061:33060"
environment:
- MYSQL_ROOT_PASSWORD=root
COMANDOS
docker compose up - Generar containers y runnerar
docker compose down - Elimina todo lo que creo
docker compose -f docker-compose-dev.yml up
----------------------------------------------------------
Ejemplos
----MYSQL----
docker create -p3307:3306 -p33061:33060 --name mysql_pink -e MYSQL_ROOT_PASSWORD=root mysql
docker run -p3307:3306 -p33061:33060 --name mysql_pink -e MYSQL_ROOT_PASSWORD=root mysql
--------------------------------EJEMPLO DEPROYCETO----------------------
docker create -p3307:3306 -p33061:33060 --name mysql_pink --network mired -e MYSQL_ROOT_PASSWORD=root mysql
docker create -p3000:3000 --name appnode --network mired miapp:1