L’esecuzione di Docker su una macchina virtuale è piuttosto semplice Docker non è altro che un’applicazione o un servizio standard. In questo articolo, creeremo un ambiente Linux virtualizzato e poi installeremo l’applicazione Docker.
Per completare il processo è necessario capire come utilizzare l’ambiente della riga di comando di Linux e il gestore di pacchetti per la distribuzione Linux che hai scelto. Per la parte restante di questo articolo, ipotizzeremo che tu abbia scelto di utilizzare Ubuntu.
Tuttavia, prima è necessario creare una macchina virtuale usando il sistema operativo Ubuntu. Sono disponibili numerosi modi per creare macchine virtuali, ma l’argomento esula dallo scopo di questo articolo. Rivolgiti al responsabile IT della tua organizzazione per parlare delle specifiche del tuo ambiente di virtualizzazione.
Una volta che la macchina virtuale Ubuntu è operativa, effettua l’accesso SSH a tale macchina virtuale. Ora installiamo Docker.
Come installare ed eseguire Docker su una macchina virtuale
- Innanzitutto, è necessario aggiornare il gestore di pacchetti Apt per assicurarsi di disporre dei pacchetti più recenti indicizzati nei repository Apt sul computer. Nel terminale, esegui questo comando:
sudo apt update
- Dopo che Apt ha aggiornato l’indice dei pacchetti, occorre verificare che possa utilizzare connessioni SSL per scaricare i pacchetti dall’indice. A tale scopo, esegui questo comando:
sudo apt install ca-certificates curl gnupg lsb-release
- Per l’installazione dei pacchetti da parte di Apt saranno necessari alcuni minuti, trascorsi i quali potrebbe essere visualizzata una richiesta di verifica. In tal caso, controlla le modifiche nella riga di comando e, per confermarle, accettale.
- Quando Apt termina l’aggiornamento occorre aggiungere il repository Docker ufficiale all’indice di Apt. Digita il comando seguente per aggiungere il repository Docker all’indice di Apt:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- La procedura è quasi terminata. Ora che Apt conosce la posizione dei repository ufficiali di Docker, è necessario fornire al gestore l’istruzione di utilizzare solo il ramo Stable per i pacchetti Docker. A tale scopo, digita il comando seguente:
echo \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- Infine, utilizza il comando seguente per aggiornare di nuovo l’indice di Apt in modo che il gestore sappia dove trovare i pacchetti Docker e ne effettui l’installazione:
sudo apt update
sudo apt-get install docker-ce docker-ce-cli containerd.io
La procedura è terminata. Ora Docker è installato e operativo nella tua macchina virtuale Linux. Tutto pronto per testare l’applicazione?
Come creare un private cloud con Docker
Uno dei motivi migliori per i quali utilizzare Docker è la creazione di sistemi di private cloud personalizzati, un ambito in cui si rivela uno strumento eccellente. Installiamo OwnCloud.
- Nel terminale di Ubuntu, digita il comando seguente:
docker pull owncloud/server
- Docker potrebbe impiegare un po’ di tempo per scaricare l’immagine e avviarne l’esecuzione. Al termine del processo, apri il browser e vai all’indirizzo IP della macchina virtuale in esecuzione sulla porta 8080 (https://192.168.1.20:8080).
- Se tutto va bene, dovresti vedere una schermata di accesso a OwnCloud.
Posso usare Docker come macchina virtuale?
Anche se non è consigliato, puoi utilizzare l’applicazione per eseguire macchine virtuali. Esaminiamola più da vicino.
Non è una piattaforma per macchine virtuali, ma una piattaforma di containers. C’è una netta differenza.
Docker non crea componenti di PC virtualizzati come Hyper-V, VirtualBox o ESXi. Al contrario, le macchine virtuali creano un ulteriore overhead emulando l’hardware del PC. Le macchine virtuali sono essenzialmente un gruppo di minicomputer che risiedono all’interno di un computer più grande.
Docker condivide le risorse del PC con i suoi containers, non crea hardware per PC virtualizzato. La CPU utilizzata dal sistema operativo host è la stessa utilizzata dai containers Docker. Non è segmentata per la virtualizzazione. Per il container Docker, non c’è alcuna differenza nella CPU.
Le risorse hardware utilizzate da Docker risiedono in una sandbox. Ciò significa che, sebbene il sistema operativo host e il container Docker utilizzino la stessa CPU e gli stessi cicli di CPU, i thread utilizzati dal container Docker sono circondati da un grande recinto. Lo stesso vale per la memoria e altri componenti di sistema.
L’esecuzione di un altro sistema operativo all’interno di un container Docker non è una vera virtualizzazione. Questo, tuttavia, non significa che non si possa simulare un ambiente virtualizzato. Se, ad esempio, cerchi “Xfce” su Docker Hub, troverai containers che ospitano versioni complete del sistema operativo Ubuntu con il desktop Xfce.
Ma ecco l’inghippo. Docker è un servizio solo per Linux. Può essere eseguito su Windows, ma Windows si avvale di WSL per utilizzarlo. Per il resto, continua a essere eseguito su Linux. Per funzionare correttamente, Docker dipende dal kernel Linux. Poiché non virtualizza i componenti, il suo sistema operativo host deve avere accesso al kernel Linux e ad altri componenti Linux. Questo significa che è possibile utilizzare Docker solo per eseguire il sistema operativo Linux e non Windows o Mac OS. Se hai la necessità di eseguire Windows o OS X, devi per forza ricorrere alla virtualizzazione.
Ecco una rapida serie di istruzioni per eseguire un container Docker con Ubuntu:
- Apri un terminale in Ubuntu.
- Esegui questo comando:
docker run -it -p 9096:3389 -e 3389 --shm-size 2g manishfoodtechs/xfcefulldesktop_ubuntu20.4
- In Windows, apri RDP e connettiti all’indirizzo IP locale con la porta 9906.
- Usa il nome utente “root” con la password “123456” per accedere.
In questo articolo abbiamo illustrato i passaggi necessari per la creazione di un ambiente Linux virtualizzato e per l’installazione dell’applicazione. Per ulteriori informazioni sull’esecuzione dei containers Docker, dai un’occhiata alla documentazione.
Written By: