Útiles para Docker



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


Downloader de datos para Jupyter Notebook

Downloader ALL