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.
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
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
.
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.
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:
/home/angel/dockerc/rpi
/home/angel/dockerc/amd64/
/home/angel/dockerc/automontaje
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
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.
Para crear un docker que tengamos guardado, es tan simple como escribir en tal terminal:
dockerc
Dockerc te preguntará:
rpi
. Te listará todos los dockers que tienes guardados en esa carpetasuypysonic.docker
, por si quieres cambiar una opción antes de montarlo, como puertos, volumenes…Una vez contestado todo, comienza la creación del docker.
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.
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
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
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
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
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
Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.