-
-
Save MayumyCH/138bd283d1b4cd586132cfef3b6c8808 to your computer and use it in GitHub Desktop.
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 - backgrounddocker 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
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 shInicia 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
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
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
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
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
RECURSOS
Teoria de docker
COMANDOS BASICOS
Nos muestra todos los comandos que podemos utilizar
Imagen
Listar las imágenes
Descargar imagen desde un register (Docker Hub) pero no lo corre
Docker Hub (Lugar donde esta alojados varias imagenes de Docker)
docker pull python:3
docker pull httpd:2.4-alpine
docker pull ubuntu