[Gulli] Gestione dei container docker tramite docker-compose
alex9446
alex9446@gmail.com
Mar 4 Ago 2020 08:00:00 CEST
Buongiorno a tutti,
di seguito vi illustrerò come è stato utilizzato lo strumento
docker-compose per la configurazione di un servizio attualmente attivo sul
server dell'associazione.
Innanzitutto per utilizzare lo strumento docker-compose dovremo creare un
nuovo file con nome *docker-compose.yml*, vi consiglio di creare il file in
una cartella vuota e utilizzarla soltanto per le risorse inerenti la
configurazione.
L'esempio seguente è la configurazione del sevizio nextcloud, le altre
configurazioni sono disponibili nel repository gitlab dedicato:
https://gitlab.com/G.U.L.Li/servizi-docker-compose
version: '3'
services:
nextcloud:
image: nextcloud:18.0.6
restart: unless-stopped
networks:
- traefik_net
volumes:
- ./var_www_html:/var/www/html
labels:
- "traefik.enable=true"
- "traefik.http.routers.nextcloud.rule=Host(`
nextcloud.linux.livorno.it`)"
- "traefik.http.routers.nextcloud.entrypoints=websecure"
- "traefik.http.routers.nextcloud.tls.certresolver=myresolver"
networks:
traefik_net:
external: true
Con *version* definiamo la versione del file docker-compose.yml, dentro
*networks* attiviamo una rete 'esterna' già presente in docker e la
rendiamo disponibile ai servizi (punto successivo).
Con *services* definiamo i servizi, in questo caso ne utilizziamo soltanto
uno (nextcloud):
- *images* definisce l'immagine da utilizzare come base del container e
con il valore che segue i due punti specifichiamo la release, la release di
default altrimenti sarà *latest*
- *restart* con il valore unless-stopped riavvierà il container a meno
che l'arresto del container non sia dovuto ad un'azione manuale dell'utente
- *networks* definisce la rete a cui sarà connesso il container
- *volumes* indica una cartella presente nell'host da collegare ad una
cartella del container, in questo caso la cartella *var_www_html* è
presente nella stessa cartella del file docker-compose.yml e contiene i
dati e le preferenze degli utenti del servizio nextcloud
- Infine le *label* indicano a traefik le istruzioni di reverse proxy
per il collegamento al servizio nextcloud, approfondirò con un'altra mail
Quando saremo soddisfatti della configurazione di prova dei servizi
procediamo con l'avviamento, per gestire i servizi utilizzeremo il comando
docker-compose con differenti opzioni.
Le opzioni che più ho utilizzato sono queste tre:
- *docker-compose up -d*, crea/aggiorna i container dei servizi presenti
nella configurazione, con *-d* non saremo collegati al logging dei
container quando saranno avviati
- *docker-compose logs -f --tail=all*, verremo collegati al logging dei
container (se avviati)
- *docker-compose down --volumes*, ferma e rimuove i container dei
servizi presenti nella configurazione, con *--volumes* verranno
eliminati anche i volumi collegati ai container
Buona sperimentazione!
Alessio
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.linux.it/pipermail/gulli/attachments/20200804/f0978882/attachment.htm>
Maggiori informazioni sulla lista
Gulli