Docker Toolbox colpisce ancora - nuova fix

Con moltissimo dispiacere sopporto e supporto ancora questo residuato bellico, ma non prometto che continuerò a lungo. Sono molto tentato di dire “mi spiace ma è troppo vecchio” se non fosse che mi sono ritrovato parecchia gente che ha Docker Toolbox installato e non può installare Docker Desktop perché altrimenti non funziona più VirtualBox “e gli serve”. Situazione su Windows pochissimo piacevole. Quindi sopporto e fornisco qui istruzioni per utilizzarlo.

@andrea.saccavini ha trovato un nuovo “problemino” che ho faticato a risolvere. Io-SDK funziona ancora, ma la situazione per tenerlo in piedi è diventata abbastanza ridicola. La procedura “da zero” è questa, per un windows recente:

Prima di tutto installate VirtualBox 6.1, perché la versione precedente non funziona più con windows recenti. POI installate docker toolbox SENZA virtualbox.

A questo punto occorre fare dei rattoppi.

Aprite l’icona Docker Toolbox Quickstart Terminal e creerà una immagine nuova default.

A questo punto occorre stoppare l’immagine con il comando

docker-machine stop

e andare su VirtualBox a modificare l’immagine default. Occorre aumentare la memoria a 6giga minimo, e poi occorre andare su “Network”, “Advanced” e impostare un port forwarding:

127.0.0.1 3280 3280
127.0.0.1 3000 3000

e fare ripartire con

docker-machine start

Infine bisogna utilizzare la versione

2020.1003.1006-snapshot

perchè ho dovuto correggere il fatto che con il Docker Toolbox attuale recenti il ‘//C/Users’ non gli piace, vuole '//c/Users/ (e non chiedetemi il perché di questo delirio).

E’ con vibrante emozione che confermo che il percorso suggerito da @msciab funziona!
Aggiungo che grazie al fix sul ‘//c/Users/ sono anche riuscito a far funzionare un’installazione custom fatta direttamente da powershell senza Docker Toolbox Quickstart Terminal e definendo le caratteristiche della VM creata a mio piacimento. C’è un però: la share per condividere i file di progetto residenti sul file system dell’host. E’ un noto problema del toolbox.
Dopo aver inventato nuovi epiteti in lingue ancora sconosciute … condivido quanto ottenuto: ai passaggi suggeriti da @msciab aggiungo quindi il comando di creazione della vm:

docker-machine --debug create -d virtualbox --virtualbox-share-folder “\?\c:\Users:c/Users” --virtualbox-memory “4096” machine_name

che crea tutto a modino al netto del portforwarding che non è supportato dal driver virtualbox e che quindi va comunque settato a mano!

In questo modo è possibile creare più ambienti diversi rispetto al default costruito dal quickstart terminal.
Volendo, comunque, si può modificare anche il comando di shell usato da quickstart terminal, ma direi che può bastare :slight_smile:

E ti pareva. Non finisce qui! A quanto pare la colpa è dell’ultima versione di Docker. Non solo ha cambiato la logica di /C in /c ma non gli va più bene su Docker for Desktop la sintassi //var per montare il volume che invece prima funzionava benissimo. Quindi devo fare una nuova patch per far funzionare con l’ultimo docker.

Per intendeci con Docker 19.03.12 la sintassi //var funziona con Mac e WIndows. Con Docker 19.03.13… NO. La sintassi //var va usata su Windows, altrove solo /var. Mah!