Docker como comando

También podemos tomar una imagen cualquiera, aunque tenga una aplicación instalada y ejecutar comandos en ella:

$ docker container run busybox echo 'hola mundo!'

La primera vez que lo ejecutamos, descargará la imagen busybox e inmediatamente ejecutará el comando echo 'hola mundo!' produciendo la salida correspondiente:

Unable to find image 'busybox:latest' locally
latest: Pulling from busybox
920777304d1d: Pull complete 
437595becdeb: Pull complete 
Digest: sha256:4a731fb46adc5cefe3ae374a8b6020fce9
Status: Downloaded newer image for busybox:latest
hola mundo!

A partir de tener la imagen busybox local, podemos ejecutar otros comandos con ella:

$ docker container run busybox ps xa
PID   USER     TIME   COMMAND
    1 root       0:00 ps xa

Para saber por qué tenemos un único proceso con PID 1, ver Cómo funciona docker

Cada vez que ejecutamos una imagen, queda guardado el contenedor ejecutado, es decir no se borra:

$ docker container ls -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS                                                                         NAMES
d223748120dc        busybox             "echo 'hola mundo!'"     17 seconds ago      Exited (0) 16 seconds ago                                                                                 mystifying_heyrovsky
4018dd3cdd71        hello-world         "/hello"                 21 minutes ago      Exited (0) 21 minutes ago                                                                                 vigorous_shannon

Ejercicios

1.

Ejecute los siguientes comandos con imagen alpine:

  • ls -l

  • cat /etc/alpine-release

  • ps axu

2.

Compare la salida del comando mount ejecutado en el sistema GNU/Linux y dentro de un contenedor (por ej. con la imagen alpine).

Note la diferencia del directorio / montado en el contenedor y en el sistema externo.

3.

Encuentre la diferencia entre ejecutar el comando man en las imágenes de alpine y busybox.

Última actualización