1 minute read

INTRODUCCION A DOCKER

Un contenedro es una instancia de una imagen docker; su uso principal es la capacidad que nos otrorga para correr una aplicaion instalando todas las dependencias que esta necesita sin necesidad de hacerlo en nuestra máquina local , en cualquier sistema operativo. A diferencia de las VM(máquinas Virtuales) los contenedores usan el kernel del host, mientras que en una VM la máquina nueva tiene su propio kernel. De esta manera los contenedores son mas libianos computacionalmente hablando.

Una imagen de un contenedor se crea en un Dockerfile, que se compila en el mismo directorio en el que se encuentra y, posteriormente podremos crear el numero de contenedores con esa imagen que queramos, cada uno representando una máquina distinta.

Para comunicarse con el contenedor tenemos varias vias:

  • puertos (tcp/udp) por lo que podremos crear conexiones en redes
  • volumenes, que son sistemas de ficheros/directorios compartidos entre el host y el contenedor. Por ejemplo, para poder compartir la pantalla del host y poder reproducir interfaces gráficas dentro del contenedor , tendremos que compartir mediante un volumen el directorio en el que se encuentran los ficheros de Xorg: /tmp/.X11-unix.

Algo que he descubierto importante durante este aprendizaje es que me ha compensado reinstalar docker con los paquetes apt mejor que con snap, ya que de esta segunda manera habia ciertas capacidades que docker no me permitía ejecutar, ademas de que lo que muestra el CLI de docker es mucho mas intuitivo y visual.

GLOSARIO BÁSICO

``` docker pull

docker prune -> borra los containers introducidos

=> equivalente a: docker rm $(docker ps -a -q -f status=exited)

docker push

docker rm <ID/name>

docker tag

docker ps

-a -> todos los containers (sin -a solo los arrancados)

-f -> filtrar output segun una condicion: ej. status=exit

-q -> quiet	

docker logs <ID/name>

docker exec :el contenedor ya esta corriendo

-i -> sesion interactiva

-t -> terminal

docker start <ID/name>

docker stop <ID/name>

docker images

docker build

-t -> nombre de la imagen => -t getting_started

-f -> path a el Dockerfile

docker run

-d -> background

-p -> puertos => -p $HOSTOPORT:$CONTAINERPORT

-v -> volumen => -v $RUTAHOST:$RUTACONTAINER (rutas absolutas)

--rm -> borra el container cuando termina

-i -> sesion interactiva

-t -> terminal ~~~