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.
Tabla de contenidos
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>