Video: Creare un immagine da un docker file (Novembre 2024)
Docker è una piattaforma open source per la creazione, la gestione e l'esecuzione di applicazioni in contenitori virtuali su server Linux. Questi contenitori sono spazi virtuali creati con la virtualizzazione del sistema operativo all'interno del kernel Linux in cui le risorse sono isolate. Sono diversi dai servizi PaaS come Microsoft Azure o Amazon EC2, che offrono server virtuali chiamati istanze del server. Pensa invece a Docker come un modo per consegnare istanze utente.
Grazie a questi contenitori isolati, Docker consente agli sviluppatori e agli amministratori di sistema di fornire applicazioni distribuite veloci, gestite centralmente e sicure. Le prestazioni, sostengono molti, sono ancora più agili e leggere rispetto ai server virtuali. Il progetto della community open source sta attirando fan open source e grandi aziende tecnologiche come Red Hat, Microsoft e Rackspace, che hanno tutti annunciato piani o hanno già implementato una qualche forma di interoperabilità tra Docker e le loro offerte.
Gli amministratori di sistema, in particolare quelli che hanno trascorso gran parte della loro carriera nella gestione di infrastrutture Windows di dimensioni medio-piccole, possono avere difficoltà a capire esattamente cosa Docker può fare per loro e per i sistemi che gestiscono. Quindi, abbiamo parlato con un amministratore di sistema esperto che è anche un entusiasta utente Docker, Kelsey Hightower, un consulente che lavora con una varietà di startup come CoreOS, che spedisce un prodotto basato su Docker.
PCMag: in che modo tu e la tua organizzazione utilizzate attualmente Docker?
Hightower: Docker è integrato nel sistema operativo ed è il metodo principale per l'esecuzione delle applicazioni. Non esistono gestori di pacchetti o runtime locali, né Java, Python, Ruby o Perl. Aiutiamo i provider Platform-as-a-Service a costruire le loro offerte basate su Docker. CoreOS fornisce strumenti aggiuntivi per aiutare a gestire i contenitori Docker.
PCMag: puoi fornire alcuni casi d'uso "reali" per Docker?
Hightower: la maggior parte delle aziende utilizza Docker in sostituzione di imballaggi complessi per applicazioni. Ad esempio, se si dispone di un'applicazione Java, sarà necessario un JVM e molto probabilmente un contenitore di applicazioni, che richiede versioni diverse di JVM e Tomcat. Per semplificare le cose, Docker viene utilizzato per creare un contenitore con la versione corretta di Java, Tomcat e altre dipendenze delle applicazioni. Niente più conflitti!
Docker viene utilizzato per test automatici e CI (integrazione continua). I container Linux (gestiti da Docker) sono molto più veloci da costruire e lanciare rispetto alle loro controparti VM. Ora negli ambienti di test stiamo lanciando database, broker di messaggi e altri servizi da cui dipendono le nostre applicazioni prima di eseguire test di integrazione. Ciò migliora la qualità dei test in quanto ora stiamo testando il reale.
Docker semplifica l'impostazione di ambienti di sviluppo simili alla produzione. Su un singolo host Docker, i miei sviluppatori possono facilmente far girare tutti i componenti in esecuzione in produzione tra cui un database, i server di cache, ecc. Simile ai test con Docker, la qualità dello sviluppo migliora a causa dell'accesso a un ambiente reale contro cui sviluppare. la capacità di eseguire molti contenitori su una singola macchina virtuale, posso dare ad ogni sviluppatore il proprio ambiente.
PCMag: Quanto credi che la curva di apprendimento sia per gli amministratori di sistema che non scrivono codice o usano molto la riga di comando?
Hightower: a un livello elevato, se è possibile avviare e arrestare un servizio Windows o UNIX dalla riga di comando, allora si dispone di una base sufficiente per iniziare a utilizzare Docker.
Tuttavia, è ancora necessario esaminare più a fondo Docker come strumento per la creazione e la condivisione di container Linux e per la loro gestione.
Suggerimenti e consigli
Hightower offre anche alcuni suggerimenti e consigli per gli amministratori di sistema su come iniziare e utilizzare Docker:
Creazione di un contenitore Linux con Docker:
Livello di abilità: intermedio. Dovrebbe avere esperienza nella creazione di pacchetti software come Linux RPM, MSI o semplici pacchetti di applicazioni come file zip e tar.
Suggerimento: la creazione di un contenitore Linux con Docker è piuttosto semplice. Tutto ciò di cui hai bisogno è un'installazione Docker funzionante e un file Docker, che è un documento di testo che contiene tutti i comandi che normalmente eseguiresti manualmente per creare un'immagine Docker.
Gestione di un contenitore Linux con Docker:
Livello di abilità: principiante.
Suggerimento: lo strumento da riga di comando Docker è il modo più popolare di distribuire, avviare e arrestare i contenitori Linux. La maggior parte degli amministratori di sistema che si sentono a proprio agio nell'usare la riga di comando non avranno problemi con l'interfaccia della riga di comando di Docker. Il grosso problema qui è che il demone Docker non funziona nativamente su Windows o Mac OS X: è richiesto un host Docker che esegue Linux. La maggior parte delle persone sceglie di eseguire l'host Docker in una VM locale utilizzando Boot2Docker o nel cloud (con EC2, Google Computer, ecc.) Hightower ha dichiarato: "Corro personalmente CoreOS su VMware Fusion sul mio Mac. Sono attivo e funzionante tra 5 minuti. Una volta installato l'host Docker, gli strumenti della CLI Docker funzioneranno perfettamente su Windows e Linux."
Hightower informa inoltre che ora che Docker 1.0 è disponibile è probabile che vengano resi disponibili altri strumenti basati sulla GUI. Raccomanda anche di dare un'occhiata a Tutum.co, una soluzione Docker ospitata che semplifica il lavoro con i contenitori Docker.