Blog del Podcast
podcast      GitHub      Twitter   Telegram

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

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 por Angel el domingo 24 febrero del 2019



También te puede interesar:




Powered by org-bash-blog

Writing in orgmode whith emacs

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