Hemos usado el comando docker run para crear y ejecutar contenedores. Este comando tiene muchas opciones, veamos algunas de ellas:

Nombrar los contenedores

A la hora de la creación del contenedor podemos ponerle un nombre (usando el parámetro --name) y también, podemos indicar el hostname (con al opción -h o --hostname). Veamos un ejemplo:

$ docker run --name contenedor1 -h contendor_ubuntu ubuntu hostname
contendor_ubuntu

Hemos comprobado que el hostname lo hemos configurado, y veamos que el nombre del contenedor también lo hemos configurado:

$ docker ps -a
CONTAINER ID   IMAGE     COMMAND      CREATED          STATUS                      PORTS     NAMES
cea2a22ac6aa   ubuntu    "hostname"   56 seconds ago   Exited (0) 54 seconds ago             contenedor1

Ejecutando un contenedor interactivo

En este caso usamos la opción -i para abrir una sesión interactiva, -t nos permite crear un pseudo-terminal que nos va a permitir interaccionar con el contenedor. El comando que vamos a ejecutar en el contenedor es bash para que podamos acceder al terminal:

$ docker run -it --name contenedor2 -h cont1 ubuntu bash 
root@cont1:/#

El contenedor se para cuando salimos de él. Para volver a conectarnos a él:

$ docker start contenedor2
contendor2
$ docker attach contenedor2
root@cont1:/#

Con docker attach nos conectamos a la entrada estándar y a la salida estándar y de error de un contenedor en ejecución, conectándonos a su terminal.

En realidad, todas las imágenes tienen definidas un proceso que se ejecuta por defecto si no se indica de manera explicita cuando creamos el contenedor. En concreto, la imagen ubuntu ( y en general todas las imágenes que corresponden al sistemas operativos) tiene definida por defecto el proceso bash, por lo que podríamos haber ejecutado:

$ docker run -it --name contenedor2 ubuntu

Eliminación automática de un contenedor

Como hemos visto hasta ahora cuando un contenedor termina de ejecutar el comando indicado, se para. Si queremos que cuando finalice la ejecución del contenedor se borre, usaremos la opción --rm. Por ejemplo:

docker run -it --rm --name contenedor3 ubuntu top

Cuando salgamos de ejecutar el comando top se borrará el contenedor. Puedes ejecutar un docker ps -a para comprobarlo.

Actualizado: