Primeros pasos con docker

para este tutorial necesitamos una computadora con debian 12 instalado y con docker funcionando, podéis seguir este link a mi tutorial de instalación.

versión de docker

docker version

Para obtener información adicional:

docker info

Iniciar un servidor nginx

Vamos a ver un ejemplo para iniciar un servidor nginx.

para inciar el servidor usamos el comando

docker container run --publish 80:80 nginx

Ahora tenemos que abrir un navegador en la máquina donde hemos instalado nginx y navegar a la ip http://localhost, como no tengo navegador gráfico voy a usar el navegador de línea de comandos lynx, pero podéis usar cualquier navegador

para instalar lynx sudo apt install lynx

para navegar con lynx usad el comando

lynx http://localhost

El resultado es:

Los logs de nginx se pueden ver en el terminal donde hemos ejecutado el contenedor:

En este caso tenemos el terminal bloqueado, para salir debemos hacer Ctrl+c.

Ejecutar contenedor separado (detached) del terminal

Si queremos ejecutar un contender de forma separada del terminal (detached) sin que este quede bloqueado debemos introducir la opción –detach:

docker container run --publish 80:80 --detach nginx

El hash que aparece es el identificador del contenedor, en este caso podemos seguir usando el terminal.

Listar los contendores

Con el comando:

docker container ls

Detener contenedor

Para detener un contenedor debemos saber los primeros dígitos de su id y detenerlo con el comado:

docker container stop af081

Si ahora listamos los contenedores obtenemos esta información:

En este caso solamente se listarían los contenedores en funcionamiento, si queremos ver los que no funcionan lo haremos con docker container ls -a

Como podéis observar cada vez que hemos ejecutado docker container run se ha creado un nuevo contenedor nginx a partir de su imagen. Cada contenedor ha generado un nombre aleatorio, que combina un adjetivo y un nombre de un científico notable.

Añadir un nombre a un contenedor.

Si queremos usar un nombre significativo debemos usar la opción –name

docker container run --publish 80:80 --detach --name webhost nginx

Si ahora listamos los contenedores podemos observar el nombre que le hemos asignado:

Podemos ver todos los contenedores con docker container ls -a

Como webhost está desacoplado si queremos ver los logs debemos ejecutar el comando:

docker container logs webhost

Ver los procesos de un contendor

Para ver los procesos de un contenedor usamos el comando:

docker container top <nombre_del_contenedor>

Eliminar contenedores

Podemos eliminar todos los contendores indicando parte de su id con el comando rm:

Obtenemos un mensaje de error ya que hay un contenedor funcionando, debemos primero detenerlo y después eliminarlo:

Podemos comprovar que ya no quedan contenedores funcionando:

Listar las imagenes

Para ver las imagenes que tenemos descargadas usamos el comando

docker images

Para eliminar una imagen usamos el comando docker image rm <parte_de_la_id>