Questo progetto contiene un playbook Ansible per avviare un Docker registry locale (senza autenticazione) e un contenitore hello-world
per testare la configurazione. Segui i passaggi seguenti per eseguire il playbook e verificare che tutto funzioni correttamente.
Assicurati di avere i seguenti strumenti installati sulla tua macchina:
- Docker: Per gestire i contenitori e le immagini Docker.
- Ansible: Per eseguire il playbook di automazione.
- Un terminale con privilegi sudo: Per eseguire i comandi che richiedono permessi di amministratore.
container-playbook.yml
: Il playbook Ansible che esegue la configurazione.- Docker Registry: Configurato per essere eseguito localmente sulla porta
5000
.
Prima di tutto, clona il repository che contiene il playbook:
git clone https://github.com/lucacis8/formazione_cm
cd formazione_cm
Per eseguire il playbook, utilizza il comando seguente:
sudo ansible-playbook container-playbook.yml
Dopo aver eseguito il playbook, segui questi passaggi per verificare che il Docker registry e il contenitore hello-world
siano in esecuzione correttamente.
3.1 Verifica il Docker Registry
Controlla che il contenitore del registry sia in esecuzione con il comando:
docker ps
Dovresti vedere un contenitore chiamato registry
in esecuzione sulla porta 5000
.
3.2 Verifica le Immagini Docker
Controlla che l’immagine hello-world
sia stata scaricata correttamente:
docker images
Dovresti vedere l’immagine hello-world
nella lista delle immagini disponibili.
3.3 Verifica il Contenitore hello-world
Controlla che il contenitore hello-world-container
sia presente:
docker ps -a
Dovresti vedere il contenitore hello-world-container
in esecuzione.
3.4 Testa il Registry Locale
Testa il Docker registry locale per vedere se è attivo:
curl http://localhost:5000/v2/_catalog
Se il registry è attivo, dovresti vedere una risposta JSON simile a questa:
{"repositories":[]}
3.5 Testa il Push di un’Immagine nel Registry
Per testare il funzionamento del registry locale, puoi provare a caricare un’immagine nel registry. Esegui i seguenti comandi:
-
Tagga l’immagine
hello-world
per il tuo registry locale:docker tag hello-world localhost:5000/hello-world
-
Esegui il push dell’immagine nel registry locale:
docker push localhost:5000/hello-world
Se il push ha successo, il registry funziona correttamente.
curl http://localhost:5000/v2/_catalog
{"repositories":[hello-world]}
Il playbook Ansible esegue i seguenti task:
- Avvia un contenitore Docker
hello-world
: Utilizza l’immaginehello-world
per avviare un contenitore. - Scarica l’immagine
hello-world
: Esegui il pull dell’immagine dal Docker Hub. - Avvia un registry Docker locale: Utilizza l’immagine
registry:2
per creare un Docker registry in esecuzione sulla porta5000
. - Esegui il contenitore
hello-world
: Esegui il contenitorehello-world
e impostalo per il riavvio automatico.
- Docker non installato: Se non hai Docker installato, puoi seguire la documentazione ufficiale per installarlo: https://docs.docker.com/get-docker/.
- Ansible non installato: Se non hai Ansible, puoi installarlo con il comando
pip install ansible
o seguendo la guida ufficiale: https://docs.ansible.com/ansible/latest/installation_guide/.