Skip to content

contraslash/una-guia-rapida-de-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Una guía rápida de Docker

Charla para el meet up de Pioneras Dev.

Post oficial de Medium

Descarga docker

Qué es Docker?

‘Es una pieza de software liviana, independiente, empaquetable y ejecutable que incluye todo lo que necesita para correr: código, runtime, herramientas de sistema, librerías y configuraciones’ traducido de la página oficial de docker, eso traducido a lenguaje práctico significa que es un pedacito de software que puede ejecutarse por si mismo sin necesidad de nada más. Un proceso que se aloja en la memoria de un anfitrión y que idealmente copia sus características y las extiende para obtener la funcionalidad necesaria. Muy distinto a las máquinas virtuales, pues ellas tienen una copia completa del sistema operativo, mientras que los contenedores solo incluyen las diferencias con respecto al anfitrión. - Una guía no tan rápida de Docker y Kubernetes

Cómo se compara con una máquina virtual?

https://techglimpse.com/docker-installation-tutorial-centos/


Historia de Docker

Historia de Docker

Por qué son útiles?

  • Inician y terminan mucho mas rápido que una máquina virtual
  • Son portables
  • Escalan rápidamente
  • Se integran rápidamente a arquitecturas orientadas a microservicios
  • Aceleran el proceso de DevOps

Cómo usar Docker

Comandos de Docker

Dockerfile

FROM contraslash/alpine-django-deploy-common:latest
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install --no-cache-dir -r requirements.txt

ADD . /code/

EXPOSE 8000

CMD ["uwsgi", "--ini", "uwsgi.ini"]

docker build: Este comando toma un archivo Dockerfile y lo transforma en una imágen, creando las capas necesarias y almacenándolas en el equipo local con la etiqueta definida con el parámetro -t

docker build -t contraslash/blog-django-pioneras .

docker tag: A partir de una imagen base, se crea una nueva con la etiqueta definida

docker tag contraslash/blog-django-pioneras registy.contraslash.com:5000/contraslash/blog-django-pioneras

docker images: Lista las imágenes construidas y disponibles en el sistema

docker images

docker run: Crea un contenedor a partir de una imagen existente en el sistema, existe se buscará la imagen en el registro por defecto de docker Docker Hub. Este comando suele venir con directivas importantes de ejecución como configuraciones por variables de ambiente con el argumento --env , directivas para ejecutar el contenedor en segundo plano con --detach, el nombre con el que se identificará este contenedor con--name puertos que se van a mapear al equipo anfitrión con --publish , carpetas compartidas con el anfitrión con --volume y muchos otros argumentos para definir por ejemplo límites en procesadores y memoria RAM, redes a la que se conectará, servidores DNS, direcciones IP todos disponibles en la documentación oficial del comando run.

docker run \
    --env DEBUG=True \
    --name blog_django_pioneras \
    --publish 9000:8000 \
    --volume ${PWD}/media:/code/media \
    --detach \
    contraslash/blog-django-pioneras

docker ps: Muestra los contenedores ejecutándose o detenidos en el sistema

docker ps

docker stop: Detiene un contenedor en ejecución

docker stop blog_django_pioneras

docker start: Re inicia la ejecución de un contenedor deteindo

docker start blog_django_pioneras

docker inspect: Inspecciona un contenedor mostrando toda su configuración

docker inspect blog_django_pioneras

docker logs: Muestra los registros emitidos por el contenedor especificado

docker logs blog_django_pioneras

docker rm: Elimina un contenedor detenido

docker stop blog_django_pioneras && docker rm blog_django_pioneras

docker login: Inicia sesión con un registro de docker. Si no se especifica un nombre de registro, se toma por defecto Docker Hub.

docker login registry.contraslash.com:5000

docker push: Sube una imagen al registro determinado

docker push registry.contraslash.com:5000

docker pull: Descarga una imagen desde un registro

docker pull contraslash/alpine-django-deploy-common-with-pillow

docker rmi: Elimina una imagen

docker rmi  contraslash/alpine-django-deploy-common-with-pillow

Licencia

El contenido de esta presentación está definido por la licencia Internacional Creative Commons Attribution-ShareAlike 4.0

Para ver una copia de esta licencia, visite https://creativecommons.org/licenses/by-sa/4.0/deed.es