Instalar docker-compose en CoreElec

Instalar docker-compose en CoreElec

taimado.duckdns.org

Actualizado: Si bien se puede instalar como detallo más abajo es preferible hacerlo vía entware, más versátil y rápido de instalar. Para ello haremos:

opkg update
opkg upgrade
opkg install python3-pip
pip3 install docker-compose

Con esto ya tendremos todo listo para poder lanzar nuestros archivos *compose*.yml tan solo corriendo un:

docker-compose up -d archivo_compose.yml

...O a través de Docker

Uno de los principales inconvenientes que nos encontramos cuando empezamos a montan nuestros principales contenedores de docker en nuestros Tv Box con CE es la imposibilidad de arrancar aquellos que no se instalan a través de un run convencional sino a través de docker-compose. Básicamente la principal diferencia radica en que mientras que con un run convencional introducimos de golpe todas las "líneas" tabuladas del contenedor en el shell (consola) de nuestro Tv Box con un compose lo que se hace es leer el contenido de un archivo denominado docker-compose.yml donde se encuentran unas "líneas" similares que permiten montar el contenedor en cuestión.

Visión parcial del archivo docker-compose.yml donde se muestra parte de la estructura para el contenedor de pihole

Una versión más avanzada de docker-compose de arrancar contenedores sería a través de stack, pero eso lo dejamos para más adelante.
Como decía, docker-compose no está instalado por defecto en nuestros dispositivos con CE por lo que hay que instalarlo manualmente, lo cual no es complicado.
Por internet hay varias opciones de hacerlo, obviamente, yo me he decidido por una de ellas que me parece la más sencilla. Es la que he encontrado en el foro oficial de CE, concretamente aquí. Yo personalmente omito las dos últimas líneas de ese tuto porque considero que no son muy necesarias y así nos obligamos a correr docker-compose desde el directorio creado. Los comandos a introducir en nuestro shell (consola) de CE serían:

mkdir /storage/bin && curl -L --fail https://raw.githubusercontent.com/linuxserver/docker-docker-compose/master/run.sh -o /storage/bin/docker-compose && chmod +x /storage/bin/docker-compose

Con esto crearemos un directorio bin en nuestro storage y se creará un archivo llamado docker-compose. Finalmente se dan permisos de escritura a este último archivo creado.

Llegados a este punto tendremos que tener en nuestro directorio el archivo docker-compose. Crearemos asimismo un archivo llamado docker-compose.yml, vacío de momento.

Archivos presentes en storage/bin


En este archivo yml es donde introduciremos las líneas correspondientes al contenedor que queramos correr haciendo un copiar pegar de toda la vida y guardando. Posteriormente lanzaremos ese compose con un simple:

sh docker-compose up -d

Si todo está bien nos habrá descargado la imagen del contenedor y lanzado el mismo.


Report Page