Alias bash per Docker
Utilizzando distribuzioni linux container-focused mi sono trovato con un paio di perplessità iniziali, primo fra tutti, come fare ad utilizzare docker-compose se non è possibile scrivere nelle directory di sistema ed installarlo?
Alla fine ho optato per una soluzione abbastanza pulita e utilizzare docker-compose
dentro ad un container (anche se bindare /var/run/docker.sock
all’interno del container non è il massimo, ma considerato che il tempo di esecuzione è relativamente limitato non lo considero un grosso rischio per la sicurezza).
Altre due cose che ho bisogno di fare relativamente spesso sono di avere una panoramica decente delle attività di Docker, e di dover accedere all’interno dei container.
Come dashboard ho scelto Dry (stesso ragionamento di prima per quanto riguarda il bind di /var/run/docker.sock
) e per fare un accesso veloce all’interno dei container ho scritto un paio di “funzioni”, una per invocare bash, e una per sh quando il precedente non è disponibile; sì sono pigro e avevo bisogno di accorciare il comando.
Da aggiungere al file .bashrc
della vostra home
alias docker-compose='docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v "$PWD:/rootfs/$PWD" -w="/rootfs/$PWD" docker/compose:1.24.0'
alias dry='docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock moncho/dry'
function containerbash {
docker exec -i -t $1 /bin/bash
}
function containersh {
docker exec -i -t $1 /bin/sh
}
Se non vi serve una versione specifica di docker-compose
potete omettere :1.24.0
, io personalmente preferisco aggiornarlo manualmente modificandone la versione di volta in volta nel .bashrc
Ricordatevi di ricaricare il file con:
source ~/.bashrc
Sicuramente non ho inventato nulla di nuovo, ma ammetto che il trucco di usare docker-compose
all’interno di un container non mi era venuta in mente subito, e la trovo una soluzione molto pratica.
Scrivi un commento