Docker: Utilizzo dei contesti Docker nei Makefile
Questa documentazione fa parte della guida Utilizzi avanzati dei contesti. Consulta la guida completa qui: Come utilizzare i contesti Docker nei tuoi script.
Benvenuto nella documentazione di Stackhero
Stackhero offre una piattaforma Docker cloud CaaS (Containers as a Service) pronta all'uso, progettata per un deployment di container veloce e affidabile:
- Effettua il deployment in produzione con un semplice
docker-compose up. Nessuna configurazione aggiuntiva: avvia semplicemente i tuoi container.- Scegli il tuo nome di dominio, automaticamente protetto con HTTPS (ad esempio: https://api.tua-azienda.com, https://www.tua-azienda.com oppure https://backoffice.tua-azienda.com).
- Approfitta di elevate prestazioni e sicurezza avanzata su un'infrastruttura privata e dedicata.
- Applica gli aggiornamenti con un solo clic per una manutenzione semplice e senza sforzo.
I tuoi container possono essere operativi in produzione in circa cinque minuti. Stackhero gestisce per te infrastruttura, aggiornamenti e sicurezza, così puoi concentrarti sullo sviluppo delle tue applicazioni. Scopri di più sull'hosting cloud Docker CaaS.
È possibile anche impostare la variabile DOCKER_CONTEXT in un Makefile. Ecco un esempio di esportazione della variabile ed esecuzione di un container Docker:
# Makefile
export DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com
getIp:
docker run --rm alpine wget -q -O - ifconfig.me
Dopo aver creato il Makefile, invoca il comando utilizzando:
make getIp
Se si verifica l'errore
Makefile: *** missing separator. Stop., assicurarsi che la lineadocker run [...]inizi con un carattere TAB, non con spazi.
Sfruttare i file .env nei Makefile
È possibile semplificare ulteriormente la configurazione includendo un file .env nel Makefile. Questo approccio garantisce una gestione centralizzata delle impostazioni dell'ambiente:
# Makefile
include .env
export
getIp:
docker run --rm alpine wget -q -O - ifconfig.me
Crea un file .env con questo contenuto:
DOCKER_CONTEXT=<XXXXXX>.stackhero-network.com
Quindi eseguire il comando:
make getIp
Se si verifica l'errore
Makefile: *** missing separator. Stop., verificare che la lineadocker run [...]inizi con un carattere TAB anziché con spazi.