Blog del Podcast
podcast      GitHub      Twitter   Telegram

Instalar servicios o aplicaciones con Docker para tu Raspberry o cualquier servidor GNU/Linux

Lectura: 4 min. 743 palabras. docker
Tiempo estimado de lectura: 7 minutos. 820 palabras. docker

El objetivo del post de hoy, va a ser crear un contenedor con una sola línea de comandos, entrar dentro de este, instalar un servicio o aplicación e iniciarlo. Pero lo mejor de todo, es que vamos a utilizar una distro diferente para nuestro contenedor, creando un servidor con un Ubuntu 18.04 en una Raspberry con sistema operativo Raspbian.

De esta manera, podremos acceder a los repositorios de Ubuntu en su última versión, con paquetes totalmente actualizados utilizando Raspbian.

Parece muy complejo, pero es muy sencillo.

Instalación

Vamos a instalar Docker desde los repositorios oficiales:

sudo apt install docker

También lo tenemos disponible en la paquetería snap, así que a dia de hoy, es muy sencilla su instalación.

Crear el grupo docker, para no tener que poner siempre sudo

Para no tener que utilizar Docker como usuario root y así evitar el tener que poner siempre sudo, crearemos el grupo docker y añadiremos los usuarios.

sudo groupadd docker
sudo usermod -aG docker $USER

También es muy útil a nivel de seguridad deshabilitar el usuario root, para iniciar y detener servicios con la sesión del propio usuario o mediante el cron este, programar el encendido y apagado de los contenedores.

Creando un contendedor con Ubuntu en su ultima versión

Creando el nuevo contenedor con la última versión de Ubuntu para Raspberry o cualquier arquitectura de procesador y entrando directamente a este contenedor una vez creado:

docker run -t -i ubuntu:latest /bin/bash

Para nuestra Raspberry, si queremos, también podemos especificar la arquitectura con la que queremos montar en nuestro contenedor:

docker run -t -i arm32v7/ubuntu:latest /bin/bash

La versión "latest", es la 18.04, si queremos utilizar una en concreto, deberemos especificarlo.

Una vez creado el contenedor y dentro de él, podemos salir pulsando exit o Ctrl-d. Esto dentendrá nuestro contenedor, para que esto no suceda, pulsa Ctrl+p+q

Listar todos los Contenedores de nuestro servidor

Vamos a listar todos los contenedores que tenemos en nuestro servidor, indistintamente si están corriendo ahora o no:

docker ps -a

No confundir con ver todos los contenedores que están corriendo ahora mismo en nuestro servidor, que lo haríamos así:

docker ps

Iniciar o detener un contenedor

Super sencillo, con docker start/stop:

docker start nombre_del_contenedor

docker stop nombre_del_contenedor

Entrar dentro del Docker vía terminal

Para entrar a la terminal de nuestro contenedor, tenemos que ejecutar: docker exec -i -t nombre_del_contenedor /bin/bash

Ejemplo práctico de todo lo visto. Descargar imagen y crear e iniciar contenedor

Voy a explicar, con el servicio garbera de ejemplo, como descargar la imagen, crear el contenedor e iniciarlo con una única línea de terminal.

docker run -t -i --name gerbera -p 1900:1900 -p 49152:49152 -v /home/usuario/docker/gerbera:/etc/gerbera/ -v /media:/root arm32v7/ubuntu:latest /bin/bash

Vamos a entenderlo:

Una vez estemos dentro del contenedor, igual que haríamos si nos hubiéramos conectado a un servidor por ssh, instalaremos e iniciaremos el servicio:

Recuerda sustituir "usuario", por tu usuario, no hagas un copia y pega 😜

Borrar un contenedor

Si ya has acabado con tus pruebas, voy a explicarte algunos comando muy útiles, como borrar el contenedor, imagenes, etc… que ya no vamos a utilizar:

Detenemos el contentedor:

docker stop nombre_del_contenedor

Borramos el contendedor:

docker rm nombre_del_contenedor

Listar y borrar imagenes

Es posible que quieras eliminar la imagen con la que habíamos creado nuestro Docker, para ello, listaremos y borraremos así:

Listar todas las imágenes:

docker images

Borrar la imagen (rm"i" de imágen, para recordar):

docker rmi nombre_de_la_imagen

Renombrar Contenedor

En caso que quisieras cambiar el nombre del contenedor, haremos lo siguiente:

docker rename nombre_actual nombre_nuevo

Conclusiones

Con un poco de práctica, como ves, Docker puede ayudarte a probar, practicar y utilizar servicios o aplicaciones, dentro de estos de un modo muy limpio y sencillo. El punto fuerte es que no vas a romper nada del sistema operativo anfitrión, y además, en el caso de la Raspberry, utilizar aplicaciones a la última que no están disponibles en Raspbian.


Publicado el domingo, 24 de febrero de 2019







Powered by wdblog

Licencia de Creative Commons
Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.