Rinominare i container Docker: 3 consigli per principianti

Introduzione

Quando create un container Docker, ad esso viene assegnato un identificativo univoco universale (UUID). Questi UUID sono essenziali per evitare conflitti di denominazione e per favorire l’automazione senza l’intervento umano. Gli UUID identificano efficientemente i container per l’host e per la rete. Tuttavia richiedono un ulteriore sforzo da parte dell’utente per poter distinguere tra la più leggibile e lunga stringa di 64 caratteri e la più comune forma ridotta da 12 caratteri simile a qualcosa tipo 285c9f0f9d3d.

In modo da agevolare gli utenti, Docker fonisce inoltre i container di un nome generato casualmente da due parole unite da un _, ad esempio evil_ptolemy. Questo può rendere più facile distinguere un container da un altro, ma i nomi casuali non forniscono più informazioni riguardo la funzione del container rispetto all’UUID.

Ecco tre consigli che possono esservi d’aiuto quando inizierete ad imparare a lavorare con i container.

1 — Rinominate il container quando lo avviate

Aggiungendo --name=nome_sensato al comando docker run, sia nelle sessioni interattive che nell’output dei comandi come docker ps, evil_ptolomy diventa più riconoscibile. Ci sono tuttavia delle limitazioni. Siccome i nomi dei container deveno essere univoci, non potete rinominarli deliberatamente e far scalare un servizio al di fuori di un contenitore.

Nella linea di comando o in un Dockerfile:
docker run --name=nome_sensato

Se usiamo per esempio un container basato sull’immagine base nginx e lo avviamo in questo modo:

$ docker run --name nginx -d nginx

Il nome apparirà nella lista dei container avviati:

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
08f333ef7216        nginx               "nginx -g 'daemon off"   15 seconds ago      Up 14 seconds       80/tcp, 443/tcp      nginx

Mentre il nome appare nell’output di docker ps e può essere usato per gestire il container, tale nome non apparirà nel prompt del container se lo aggiungete a tale container o nei file di log. Per fare in modo che ciò avvenga, avete bisogno di assegnare anche un hostname.

2 — Assegnare un hostname al container

Il valore fornito al comando --hostname è presente in /etc/hostname e in /etc/hosts all’interno del container. Conseguentemente appare nel prompt. Esso svolge un ruolo nella configurazione DNS del container e può essere utile durante le fasi di apprendimento per la creazione di un multi-container. Non è semplice accedere da fuori del container, ma quel valore apparirà nei file di log del container e, quando quei file vengono scritti su un volume indipendente all’host, può essere più semplice identificare il container.

CLI e Dockerfile:
docker run --hostname=value O docker run -h value

Mentre --name e --hostname sono entrambi utili per l’identificazione dei container, a volte non si tratta di denominare i container. Si tratta piuttosto di avere un container che si auto pulisca senza che ci si debba ricordare di farlo da soli.

3 — Eliminare automaticamente i container all’uscita

Durante il setup è utile che un container arrestato venga mantenuto dopo che siamo usciti da tale container. Potete conservare i dati come i file di log e consultare lo stato finale del container. In alcuni casi però si sa che il container che si sta eseguendo non è quello che si vuole solo quando si ha finito. In questo caso potete usare il parametro --rm in modo da eliminarlo automaticamente all’uscita. Questo può aiutare a mantenere le cose pulite.

Fate attenzione però! Se state usando i volumi Docker, --rm rimuoverà qualsiasi volume non indicato con un nome.

CLI e Dockerfile:
docker run --rm

Questo è molto utile quando state creando un’immagine e avete il bisogno di allegarla a un container avviato. Guardandovi attorno non volete che il vostro disco si riempia di container che non userete più.

Conclusioni

Ognuno di questi tre parametri per docker run: --name, --hostname e --rm, possono a loro modo rendere più semplice la comprensione delle cose mentre si impara Docker. Potete approfondire l’uso dei container e come lavorare con il comando docker run seguendo la guida Lavorare con i container Docker.

Melissa Anderson

Traduzione di Zantx dell’articolo https://www.digitalocean.com/community/tutorials/naming-docker-containers-3-tips-for-beginners Copyright © 2016 DigitalOcean™ Inc.






Home | Chi siamo | Chat | Contattaci | Whois

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *