Installare Docker su Chromebook: guida e fix

Installare Docker su Chromebook è possibile usando l’ambiente Linux integrato in ChromeOS, chiamato anche Crostini. La procedura funziona sui Chromebook compatibili con Linux e consente di eseguire container direttamente dal terminale Debian. Il problema più frequente non riguarda Docker in sé, ma l’avvio del demone dockerd, soprattutto quando systemd non è attivo o il container Linux non è stato aggiornato. Prima dell’installazione è necessario verificare che Linux sia abilitato, che il Chromebook disponga di spazio sufficiente e che ChromeOS sia aggiornato. I passaggi seguenti includono anche i comandi per diagnosticare e correggere gli errori di avvio.

Requisiti per usare Docker su ChromeOS

Docker su Chromebook richiede l’ambiente Linux di ChromeOS e non può essere installato direttamente nel sistema principale del Chromebook. Linux viene eseguito in un container Debian gestito da una macchina virtuale, quindi Docker opera a sua volta all’interno dell’ambiente Linux.

Prima di procedere, controlla questi requisiti:

  • Chromebook compatibile con l’ambiente Linux.
  • ChromeOS aggiornato da Impostazioni > Informazioni su ChromeOS > Controlla aggiornamenti.
  • Ambiente Linux attivato da Impostazioni > Avanzate > Sviluppatori > Ambiente di sviluppo Linux.
  • Almeno alcuni gigabyte liberi nella memoria interna.
  • Accesso a un terminale Linux con privilegi sudo.

L’ambiente Linux di ChromeOS usa generalmente Debian, ma la versione disponibile può cambiare in base al modello e alla release di ChromeOS. Per verificare il sistema, apri il terminale Linux ed esegui:

cat /etc/os-release
uname -m

L’architettura x86_64 è comune sui Chromebook Intel e AMD, mentre aarch64 identifica i modelli ARM. Alcune immagini Docker o alcuni strumenti potrebbero non essere disponibili nativamente per entrambe le architetture.

Come installare Docker su Chromebook

Il metodo più semplice consiste nell’installare il pacchetto docker.io dai repository Debian configurati nell’ambiente Linux. Questa versione è gestita dalla distribuzione e può avere un numero di versione diverso da quello pubblicato direttamente da Docker.

Passo 1: aggiorna i pacchetti Linux

Apri l’app Terminale di ChromeOS e aggiorna l’elenco dei pacchetti:

sudo apt update
sudo apt full-upgrade -y

Il comando full-upgrade aggiorna i componenti dell’ambiente Debian e può richiedere il riavvio del terminale. Se ChromeOS ha appena installato un aggiornamento importante, riavvia il Chromebook prima di continuare.

Passo 2: installa Docker Engine

Installa Docker e i componenti necessari dai repository Debian:

sudo apt install -y docker.io

Al termine, controlla che il comando Docker sia disponibile:

docker --version

Il numero di versione visualizzato dipende dal repository Debian e dalla release dell’ambiente Linux. Per informazioni ufficiali sui pacchetti e sulle configurazioni supportate è possibile consultare la documentazione Docker Engine.

Passo 3: avvia il demone Docker

Se systemd è disponibile nell’ambiente Linux, abilita e avvia il servizio Docker con un solo comando:

sudo systemctl enable --now docker

Verifica lo stato del servizio:

sudo systemctl status docker --no-pager

Un servizio attivo mostra una riga simile a Active: active (running). Se il comando restituisce l’errore System has not been booted with systemd, systemd non è il processo principale dell’ambiente Linux e systemctl non può gestire Docker.

Passo 4: esegui Docker senza sudo

Per evitare di anteporre sudo a ogni comando, aggiungi l’utente Linux al gruppo docker:

sudo usermod -aG docker $USER

Chiudi completamente l’app Terminale e riaprila, oppure esegui:

newgrp docker

Verifica i permessi eseguendo un container di prova:

docker run hello-world

Il gruppo docker concede privilegi elevati perché permette di controllare il demone Docker. Per questo motivo è opportuno aggiungere solo utenti fidati a quel gruppo.

Come risolvere il mancato avvio del demone Docker

Il demone Docker è il processo dockerd che crea e gestisce container, immagini, reti e volumi. Il comando docker è solo il client e non può funzionare correttamente se il demone non è in esecuzione.

Verifica se systemd è attivo

Controlla quale processo gestisce il sistema Linux:

ps -p 1 -o comm=

Se il risultato è systemd, puoi usare systemctl. Se il risultato è diverso, come init, l’ambiente Linux non sta eseguendo systemd come processo principale.

Sulle versioni recenti di ChromeOS, l’opzione per systemd può essere presente nelle impostazioni dell’ambiente Linux. Apri Impostazioni > Avanzate > Sviluppatori > Ambiente di sviluppo Linux e cerca l’opzione relativa all’abilitazione di systemd. Il nome e la posizione possono variare in base alla versione di ChromeOS e al modello del Chromebook.

Dopo aver abilitato systemd, riavvia il contenitore Linux dall’app Terminale oppure riavvia il Chromebook. Quindi riprova:

sudo systemctl start docker
sudo systemctl enable docker

Se l’opzione non è disponibile, non è consigliabile modificare manualmente file di sistema di ChromeOS: il supporto dipende dalla versione e dalla configurazione del contenitore Linux.

Avvia Docker con il comando service

In alcune installazioni Debian il comando service funziona anche quando systemd non è il processo principale:

sudo service docker start

Controlla quindi il funzionamento del demone:

sudo docker info

Se docker info restituisce i dettagli del server, Docker è attivo. Se visualizza soltanto le informazioni del client accompagnate dall’errore Cannot connect to the Docker daemon, il servizio non è stato avviato oppure il socket Docker non è accessibile.

Avvia manualmente dockerd per diagnosticare l’errore

Quando systemd e service non funzionano, puoi avviare temporaneamente il demone in primo piano:

sudo dockerd

Il terminale rimarrà occupato e mostrerà direttamente gli errori di configurazione, rete, archiviazione o permessi. Lascia aperta questa finestra e, in una seconda scheda del Terminale, prova:

sudo docker info

Per interrompere l’avvio manuale premi Ctrl+C. Questo metodo è utile per la diagnosi, ma non mantiene Docker attivo automaticamente dopo la chiusura del terminale o il riavvio del Chromebook.

Leggi i log del servizio

Se systemd è attivo, i log del demone sono disponibili con:

sudo journalctl -u docker --no-pager -n 100

Per seguire in tempo reale i nuovi messaggi:

sudo journalctl -u docker -f

Gli errori relativi a permission denied indicano spesso problemi sui file di /var/lib/docker o sul socket /var/run/docker.sock. Gli errori relativi a iptables, overlay2 o alle reti possono invece dipendere dalle limitazioni del kernel e della virtualizzazione usata da ChromeOS.

Errori comuni dopo l’installazione

L’errore permission denied while trying to connect to the Docker daemon socket indica che l’utente corrente non ha ancora i permessi sul socket Docker. Aggiungi l’utente al gruppo docker, chiudi il Terminale e aprilo di nuovo:

sudo usermod -aG docker $USER

L’errore Cannot connect to the Docker daemon indica che il client Docker non raggiunge il demone. Controlla prima lo stato del servizio:

sudo systemctl status docker

Se Docker si arresta subito dopo l’avvio, controlla lo spazio disponibile nell’ambiente Linux:

df -h

Le immagini, i livelli dei container e i volumi vengono salvati principalmente in /var/lib/docker. Quando la memoria del Chromebook è quasi piena, il demone può non riuscire a creare nuovi file. Puoi vedere lo spazio usato da Docker con:

sudo docker system df

Non eliminare manualmente /var/lib/docker, perché questa operazione può danneggiare il database locale e rimuovere immagini, container e volumi. Per liberare spazio, usa invece i comandi Docker dopo aver verificato quali risorse non servono più:

docker system prune

Il comando docker system prune rimuove risorse inutilizzate, ma non elimina automaticamente i volumi senza un’opzione esplicita. Prima di usarlo su un ambiente di lavoro, controlla immagini e container presenti:

docker ps -a
docker images
docker volume ls

Infine, ricorda che l’arresto o il riavvio della macchina virtuale Linux può fermare i container in esecuzione. L’avvio automatico dei container richiede una configurazione aggiuntiva, ad esempio una politica restart nel file Docker Compose o nel comando docker run.

Installare Docker su Chromebook funziona in modo affidabile quando Linux, systemd e i permessi del socket sono configurati correttamente.

FAQ

No. Docker richiede un Chromebook compatibile con l’ambiente Linux di ChromeOS. I modelli scolastici o amministrati possono avere Linux, virtualizzazione o installazione di pacchetti bloccati.

L’errore compare quando systemd non è attivo come processo principale dell’ambiente Linux. Verifica l’opzione systemd nelle impostazioni Linux di ChromeOS oppure usa sudo service docker start se disponibile.

L’utente non appartiene ancora al gruppo docker, che permette di accedere al socket del demone. Esegui sudo usermod -aG docker $USER, quindi riapri il Terminale Linux.

Usa sudo docker info oppure, con systemd attivo, sudo systemctl status docker. Un demone funzionante restituisce le informazioni del server Docker senza l’errore di connessione al socket.

Controlla l’uso con docker system df e rimuovi immagini o container inutilizzati con docker system prune. Non cancellare manualmente la cartella /var/lib/docker.

Altri articoli di questa serie:

PDF Strumenti PDF gratis Nel browser, senza upload Apri gli strumenti