Skip to content

Instantly share code, notes, and snippets.

@MayumyCH
Last active February 16, 2024 06:04
Show Gist options
  • Save MayumyCH/138bd283d1b4cd586132cfef3b6c8808 to your computer and use it in GitHub Desktop.
Save MayumyCH/138bd283d1b4cd586132cfef3b6c8808 to your computer and use it in GitHub Desktop.
Comandos principales DOCKER
@MayumyCH
Copy link
Author

MayumyCH commented Oct 31, 2021

RECURSOS

Teoria de docker

COMANDOS BASICOS

Nos muestra todos los comandos que podemos utilizar

docker

Imagen

  • Listar las imágenes

    docker image ls
    docker images | head

  • Descargar imagen desde un register (Docker Hub) pero no lo corre
    Docker Hub (Lugar donde esta alojados varias imagenes de Docker)

    docker pull [name_imagen]

    docker pull python:3
    docker pull httpd:2.4-alpine
    docker pull ubuntu

@MayumyCH
Copy link
Author

MayumyCH commented Oct 31, 2021

Contenedor

  • Listar los contenedores que estamos corriendo

    docker ps

  • Listar los contenedores (Funcionales | Detenidos)

    docker ps -a

  • Crear un contenedor basado en una imagen

    docker run [name_imagen]

    docker run nginx
    docker run -e POSTGRES_PASSWORD=password postgres

  • Crear un contenedor con Tag especifico (version)

    docker run [name_imagen]:[Tag]

    docker run httpd:2.4-alpine
    docker run postgres:9.6

  • Crear un contenedor + ponerle nombre

    docker run --name [name_contenedor] [name_imagen]

    docker run --name mayu-contenedor nginx

  • Crear un contenedor + nombre + detach
    (Correr contenedor sin la necesidad de que el proceso este corriendo en mi terminal todo el tiempo)
    -d <> Bandera detach - Levantar nuestro contenedor en un proceso aparte del sistema - background

    docker run -d [name_imagen]

    docker run -d nginx

  • Crear un contenedor + nombre + puerto
    (Especificar el puerto)

    docker run --name [name_contenedor] -p 8000:80 [name_imagen]

    docker run --name mayu-contenedor -p 8000:80 nginx
    docker run -p 80:80 nginx:1.17-alpine

  • Crear un contenedor + nombre + delete contenedor
    (Una vez que detienes el contenedor este se elimina)

    docker run -d --rm --name [name_contenedor] [name_imagen]

    docker run -d --rm --name mayu-contenedor nginx
    docker run -d --rm -p 5000:5000 --name mayu-contenedor mayu-docker:1.3

  • Pasarle valores de entorno a mi contenedor

    docker run -d --rm -p 5000:5000 --name mayu-contenedor -e MSG='HOLA MAYU' mayu-docker:1.3

  • Reiniciar un contenedor

    docker star [id_contenedor]

    docker star b7caa9e374b2

  • Detener contenedor

    docker stop [name_contenedor]
    docker stop [id_contenedor]

    docker stop mayu-contenedor
    docker stop b7caa9e374b2

  • Eliminar contenedor

    docker rm [name_contenedor]

    docker rm mayu-contenedor

@MayumyCH
Copy link
Author

MayumyCH commented Oct 31, 2021

Mas comandos

  • Permite ver los logs del contenedor (Información de la ejecución del contenedor)

    docker logs mayu-contenedor
    docker logs -f mayu-contenedor

  • Para ver que proceso se esta ejecutando de manera interna en mi contenedor

    docker top mayu-contenedor

  • Mostrar imagenes que contengan alpine (Distribucion de linux para contenedores)

    docker images |grep alpine


  • Ejecutar comandos dentro de un contenedor que esta corriendo

    docker exec [name_contenedor]

    docker exec mayu-nginx ls
    docker exec mayu-nginx mkdir mayu
    docker exec mayu-nginx sh

  • Ejecutar comandos de una manera mas interactiva

    docker exec -it [name_contenedor]

    docker exec -it mayu-nginx ls
    docker exec -it mayu-nginx sh

    Inicia una sesión dentro de mi contenedor

    docker exec -it mayu-nginx bash
     ~ ls
     ~ ping
     ~ apt-get update
     ~ apt-get install iputils-ping
     ~ ping 192.111.x.xx
     ~ exit
    

Redes

  • Ver las redes instaladas en mi computadora local

    docker network ls

  • Crear una nueva red
    (-d <> Indica el controlador)

    docker network create -d bridge mi-red-mayu

  • Inspeccionar características de la red

    docker network inspect [name_red]

    docker network inspect bridge
    docker network inspect mi-red-mayu

  • Crear un contenedor y asignar una red especifica

    docker run -d --rm --net=mi-red-mayu --name mayu-nginx3 nginx

  • Conectar 2 contenedores de diferentes redes

    docker network connect bridge mayu-nginx3

@MayumyCH
Copy link
Author

MayumyCH commented Nov 1, 2021

DockerIgnore

  • Crear archivo DockerIgnore

    touch .dockerignore

DockerFile

  • Crear un Dockerfile

    touch Dockerfile

  • Configurar el Dockerfile

FROM <> Indicar que queremos realizar una nueva imagen pero basada en otra imagen
(Imagen base o padre) estas contienen Dependencias

WORDIR /app <> Definir un directorio de trabajo donde se ejecutara los comandos de Docker y archivos
EXPOSE <> Exponer algún puerto de mi contenedor al mundo exterior

COPY . . <> Copiar el directorio donde estoy al contenedor (dirección de WORDIR)
RUN <> Ejecutar comando dentro de las imágenes (Dependencias)

docker build <> Crear una imagen desde DockerFile
-t <> Para crear tag (Version)
. <> Contexto de la construccion (ruta donde esta los archivos usados para
crear la imagen - . significa en esta ruta)
docker build -t mayu-docker:1.0 .

CMD <> Especificar los comandos que debe de correr
CMD python3 -m htttp.server 5000
  • Crear la Imagen para nuestra aplicación
    (-t || . Representa la carpeta donde se encuentra el dockerfile.)

    docker build -t [name_imagen] .

    docker build -t taxi-app .
    docker build -t getting-started

  • Crear el Contenedor de Docker

    docker run [name_imagen]

    docker run -p 3000:80 taxi-app
    docker run getting-started

Correr un new contenedor con la imagen getting-started
en el puerto 3000 - corre en background (-d)

docker run -dp 3000:3000 getting-started
docker run -p 3000:80 taxi-app

@MayumyCH
Copy link
Author

MayumyCH commented Nov 1, 2021

DockerCompose

  • Ejecutar desde DockerCompose

    docker-compose up -d

  • Si se ha modificado mi dockerfile que cree de new la imagen

    docker-compose up -d --build

  • Correr comandos dentro del contenedor desde DockerCompose

    docker-compose run web bash
    ~ echo $MSG
    
  • Detener los servicios desde DockerCompose

    docker-compose down

@MayumyCH
Copy link
Author

MayumyCH commented Nov 1, 2021

Subir nuestra imagen a DOCKER HUB

docker login
docker image ls
docker tag mayu-docker:1.0 [USER_DOCKER_HUB]/[NAME_REPOSITORIO_DOCKER_HUB]:1.0
docker push [USER_DOCKER_HUB]/[NAME_REPOSITORIO_DOCKER_HUB]:1.0

@MayumyCH
Copy link
Author

MayumyCH commented Nov 3, 2021

docker tag taxi-app:1.0 mayumych/taxi-app:1.0

Generando una copia de la imagen creada y le estoy dando un nuevo nombre a la imagen para que esta sea enviada al repositorio

docker push mayumych/taxi-app:1.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment