Saltar a contenido

Comandos Básicos en Docker

Comandos Básicos.

Crear y arrancar un contenedor.

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

📌 docker run -d hello-world
  • Primero busca la imagen “hello-world” en local (tu ordenador), al no encontrarlo, lo descarga de un repositorio de docker (dockerhub).

  • Si se ejecuta una segunda vez ya encontrará la imagen en local ya se ejecutará directamente. La imagen se guarda en (/var/lib/docker/).

  • La etiqueta “hello-world:latest”, quiere decir que se está descargando la última versión de la imagen hello-world.

La opción -d permite lanzar el contenedor en segundo plano y que quede funcionando. Sin dicha opción se crea el contenedor pero se detiene.

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.

📌docker ps -a

Renombrar un contenedor

docker rename [Nombre Antiguo] [Nombre Nuevo]

Copiar un fichero/carpeta del contenedor a la máquina anfitriona

docker cp [Fichero Origen] [Ruta Destino]

📌 docker cp miContenedor:/home/miFichero.txt /home/salva/miCopia.txt

Ejecutar comandos dentro del contenedor

docker exec [OPCIONES] NombreContenedor Comando [ArgumentosComando]

✨ -it: Enlaza la entrada y salida a nuestro terminal.

✨ En el siguiente ejemplo se ejecuta el comando "bash" lo que nos permite acceder a la consola del contenedor Salva.

📌docker exec -it Salva bash

Elimina un contenedor.

docker 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.

Acceder a los logs de ejecución del contenedor.

docker logs [OPCIONES] NombreContenedor

Ejemplos Básicos en Docker

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

  • Crear un contenedor nuevo con la última versión de Ubuntu.
docker run -d --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
  • Detiene 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 llamada copiaContenedor.
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.

Primero debemos crearnos 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:nombre_imagen

# Subimos el contenedor a docker hub.
docker push UsuarioDockerHUB/repositorio:nombre_imagen

Si quisieramos descargarnos una imagen de nuestro repositorio: docker pull UsuarioDockerHUB/repositorio:nombre_imagen

Resumen

Argumentos
Función
docker run -d --name NombreContenedor NombreImagen Crea y arranca un contenedor --> Si lo ejecutas varias veces ejecutas varios contenedores.
docker start / stop / restart NombreContenedor Arranca/Detiene/Reinicia un contenedor ya existente.
docker exec -it NombreContenedor bash Accedes a un terminal bash dentro del contenedor.
docker ps -a Ves todas los contenedores del sistema.
docker cp NombreContenedor:/home/prueba.txt . Copia del contendor a la máquina anfitriona.
docker commit NombreContenedor NombreImagen Crea una imagen de un contenedor.
docker images Muestra las imágenes de contenedores del sistema.