Saltar a contenido

Comandos Básicos en Docker

Comandos.

Crear un contenedor

docker [ run | start | stop | restart ] [OPCIONES] [contenedor]

Argumentos
Función
run Crea y arranca un contenedor --> Si lo ejecutas varias veces ejecutas varios contenedores.
start | stop |restart Arranca/Detiene/Reinicia un contenedor ya existente.
-d Arranca en segundo plano.
-p Traducción de puertos entre el contenedor y la máquina anfitriona. Solo se puede hacer a la hora de crear la máquina.
--name Nombre de la máquina.
-it Redirige la salida al terminal del contenedor, es decir, accedes al terminal del contenedor.
  • Si nos fijamos en la salida vemos que lo primero que hace es buscar la imagen “hello-world” en local, al no encontrarlo, lo descarga de un repositorio de docker y posteriormente lo ejecuta.

  • Si lo ejecutáis una segunda vez el código ya se ejecutará directamente en local (/var/lib/docker/).

  • También podemos apreciar que la imagen que se carga es “hello-world:latest”, es decir, la última versión de la imagen del contenedor.

Muestra los contenedores del sistema

docker ps [opciones]

✨ Con –a se muestran todos los contenedores, los activos y los detenidos.

✨ Una vez sabemos su “nombre” o su “ID” podemos arrancarlo/pararlo/reiniciarlo.

Copiar o renombrar contenedores.

docker [ cp | rename ] [contenedor]

Ejecutar comandos dentro del contenedor

docker exec [OPCIONES] NombreContenedor Comando [ArgumentosComando]

-d: Ejecuta en segundo plano.

-it: Enlaza la entrada y salida a nuestro terminal. Es como entrar al terminal del contenedor.

Acceder a los logs de ejecución del contenedor.

docker logs [OPCIONES] NombreContenedor

Elimina un contenedor.

docker container rm NombreContenedor

Crear una imagen a partir de un contenedor

docker commit contenedor imagen

✨Crear una imagen de un contenedor es la forma más sencilla para subir nuestro contenedor a la nube o para hacer un backup local.

Ejemplos Básicos en Docker

Aviso

En los siguientes ejemplos el nombre del contenedor será Salva.

  • Crear un contenedor nuevo con la última versión de Ubuntu.
docker run -d -it --name Salva ubuntu
  • Acceder al contenedor haciendo uso del intérprete /bin/bash.
docker exec -it Salva bash
  • Actualiza los repositorios e instala dentro del contendor.
apt-get update
apt-get install nano iputils-ping net-tools iproute2
  • Detén el contenedor desde la máquina anfitriona.
docker stop Salva
  • Arranca el contenedor.
docker start Salva
  • Descargar un fichero del contenedor a la máquina anfitriona.
docker cp Salva:/home/prueba.txt .
  • Crear una imagen del contendor.
docker commit Salva copiaContendor
  • Lista las imagenes que tienes en el sistema
docker images
  • Crea un .tar de la imagen copiaContendor.
docker image save -o /home/usuario/backup.tar copiaContendor
  • Saca la imagen del .tar y vuélcala en un contenedor. Recuerda estar en el mismo directorio que el .tar.
docker load -i backup.tar
docker run -d -it --name NuevoContenedor copiaContendor

¿Cómo trabajar en clase/casa usando docker?

Muchos de vosotros hacéis uso de Windows en casa, por lo que os puede entrar dudas de cómo podemos llevar nuestro trabajo a casa para seguir con él.

Opción 1: Pasar el contendor a una memoria externa.

Opción 2: Pasar el contenedor a un repositorio privado de DockerHUB.

Resumen de los comandos:

Antes de nada debemos habernos creado un usuario y un repositorio privado en la plataforma "Docker_hub".

# Nos registramos desde el terminal en docker hub.
docker login UsuarioDockerHUB
# Creamos la imagen ya asociada al repositorio de nuestro usuario.
docker commit NombreContenedor UsuarioDockerHUB/repositorio:nombnre_imagen
# Subimos el contenedor a docker hub.
docker push UsuarioDockerHUB/repositorio:nombnre_imagen