Blog del Podcast
podcast      GitHub      Twitter   Telegram

Creando contenedores con dockerc

Tiempo estimado de lectura: 8 minutos. 918 palabras. docker

El motivo de crear esta aplicación es bash que he desarrollado, es tener en una carpeta, archivos de texto plano con la extensión .docker y en su contenido, las líneas de terminal para montar el contenedor.

La aplicación te permite tanto el crear el archivo para guardar estas líneas, así como poder montar un contenedor o un grupo de contendores, todo de manera automatizada.

Si tienes tu lista de dockers favoritos en una carpeta, instalar de cero una Raspberry Pi, por ejemplo, con un simple dockerc a auto instalará todos los dockers que hayamos guardado en esa carpeta.

Instalación

Si tienes Linux, es tan simple como:

sudo curl -L https://raw.githubusercontent.com/uGeek/dockerc/master/dockerc           -o /usr/bin/dockerc && sudo chmod +x /usr/bin/dockerc

Archivo de Configuración

La primera vez que ejecutemos cualquier comando con dockerc, nos hará dos preguntas:

Tras responder estas preguntas, dockerc creará una archivo de configuración en ~/.config/dockerc/dockerc.conf.

Guardar un docker

Para guardar un docker con dockerc, tienes que ejecutar el comando

dockerc n

Dockerc te preguntará:

Te abrirá el editor de texto, por si quieres editar alguna opción antes de crearlo y creará un archivo de texto plano con la extensión .docker.

Ejemplo

Supongamos que he elegido el directorio /home/angel/dockerc/, yo he creado los siguientes grupos de dockers, rpi, amd64 y automontaje.

Las rutas de estos directorios serina:

En la carpeta rpi, dejo los archivos de los dockers para Raspberry Pi, en la amd64, los dockers para arquitectura 64bits y en automontaje, los dockers que quiero montar en mi Raspberry Pi de forma automatizada.

Un archivo .docker, tendría la siguiente estructura:

# Docker Supysonic
docker run --name supysonic --restart=unless-stopped -v $HOME/docker/supysonic:/var/lib/supysonic -v /media:/media -p 8080:8080 ugeek/supysonic:arm-0.5.0

Si le decimos a dockerc que este docker es Supysonic y pertenece al grupo de rpi, dockerc creará un archivo de texto plano con este contenido en la ruta /home/angel/dockerc/rpi/supysonic.docker

Crealo como quieras

No es necesario crearlos con dockerc, cualquier archivo que contenga las líneas de terminal que pondrías en la terminal para montar el docker y estén en el directorio, dockerc los visualizará y podrá montarlos.

La idea es que puedas guardar estos archivos y compartirlos o utilizarlos en otra máquina y poder hacer el automontaje de todos los contenedores de una vez.

Crear un docker

Para crear un docker que tengamos guardado, es tan simple como escribir en tal terminal:

dockerc

Dockerc te preguntará:

Una vez contestado todo, comienza la creación del docker.

Montar muchos dockers automatizado

Yo utilizo la carpeta automontaje pero podría ser cualquier otra donde tubieras todos tus archivos .docker.

Para automontarlos:

dockerc a

Dockerc te preguntará en que grupo o directorio están los .docker que quieres crear. Dockerc comenzará a crear todos los contenedores un tras otro de forma automátizada.

Contenedores y sus puertos

Dockerc te permite visualizar todos los contenedores que están corriendo y sus puertos. Para verlos:

dockerc c

También admite con la opción ls.

dockerc ls

Veriamos en la terminal:

----------------------------------
CONTAINERS CORRIENDO Y SUS PUERTOS
----------------------------------
bitwarden           3012/tcp, 0.0.0.0:1000->80/tcp
duckdns
ejabberd            0.0.0.0:5222->5222/tcp, 0.0.0.0:5280->5280/tcp, 5269/tcp
jellyfin            0.0.0.0:8096->8096/tcp
mariadb             0.0.0.0:3306->3306/tcp
portainer           0.0.0.0:9000->9000/tcp
supysonic           0.0.0.0:8080->8080/tcp
syncthing           21027/udp, 0.0.0.0:8385->8384/tcp, 0.0.0.0:22001->22000/tcp
tt-rss              443/tcp, 0.0.0.0:81->80/tcp
webdav              0.0.0.0:80->80/tcp

Contenedores creados

Podemos ver todos los contenedores creados con el comando

dockerc c -a

o

dockerc ls -a

Veriamos en la terminal:

----------------------
CONTAINERS DISPONIBLES
----------------------
bitwarden
duckdns
ejabberd
jellyfin
letsencrypt
mariadb
mumble
musikcube
nginx
ouroboros
portainer
resilio
supysonic
syncthing
tautulli
tt-rss
wallabag
webdav

Imágenes con su fecha de creación

Para seguir las actualizaciones de las imágenes, dockerc ordena estas por fecha. Para visualizar las imágenes

dockerc i

La terminal muestra

--------
IMAGENES
--------
CREATED             REPOSITORY:TAG                     SIZE
3 days ago          ugeek/traefik:arm                  63.4MB
4 days ago          bitwardenrs/server:raspberry       140MB
5 days ago          ugeek/mumble-ubuntu:arm            87.3MB
7 days ago          python:alpine                      77.1MB
7 days ago          alpine:latest                      3.81MB
7 days ago          arm32v6/alpine:3.11                4.81MB
7 days ago          ugeek/webdab-apache:arm            84MB

Ayuda

dockerc -h

o

dockerc --help

Modo de empleo: dockerc [OPCIONES]

dockerc                 -> Menú para crear un contendor guardado
dockerc   a             -> Automontaje de todos los dockers de un grupo
dockerc   n             -> Guarda un nuevo docker
dockerc   i             -> Imagenes listadas por creación
dockerc   c,    ls      -> Dockers que están corriendo y sus puertos
dockerc   c -a ,ls -a   -> Todos los Dockers disponibles
dockerc  -h, --help     -> Ayuda


dockerc v0.8 30/03/2020
Copyright (C) 2020 Angel. uGeek
ugeekpodcast@gmail.com

Conclusión

Esta es una aplicación que he creado para mi, que me ha sido de mucha utilidad. Espero que si tienes la misma necesidad que yo, la disfrutes mucho.


Publicado por Angel el Tuesday 31 March del 2020



También te puede interesar:




Powered by org-bash-blog

Written in OrgMode with Emacs and converted to HTML with Pandoc

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