script di avvio boot2docker per montare la cartella condivisa locale con l’host

Sto eseguendo boot2docker 1.3 su Win7.

Voglio connettere una cartella condivisa.

In VirtualBox Manager sotto le proprietà dell’immagine-> cartelle condivise ho aggiunto la cartella che desidero e l’ho denominata “c / shared”. Le caselle “auto-mount” e “make permanent” sono controllate.

Quando boot2docker viene avviato, tuttavia non viene montato. Devo fare un ulteriore:

sudo mount -t vboxsf c/shared /c/shared 

per farlo apparire. Dal momento che ho bisogno di questo per ogni volta che userò mai la finestra mobile, mi piacerebbe che funzionasse solo all’avvio, o che fosse già lì. Così ho pensato se ci fosse qualche script di avvio che potrei aggiungere, ma non riesco a trovare dove sarebbe.

Grazie

EDIT: Mi sta urlando su questo è un duplicato di Boot2Docker su Mac – Accesso ai file locali che è una domanda diversa. Volevo montare una cartella che non era uno dei valori predefiniti come / Utente su OSX o / c / Utenti su Windows. E sto specificatamente chiedendo script di avvio.

/var/lib/boot2docker/bootlocal.sh adatta alle tue necessità probabilmente, verrà eseguito dallo script iniziale /opt/bootscripts.sh

E bootscripts.sh metterà anche l’output in /var/log/bootlocal.log , vedere il segmento in basso (versione di boot2docker 1.3.1)

 # Allow local HD customisation if [ -e /var/lib/boot2docker/bootlocal.sh ]; then /var/lib/boot2docker/bootlocal.sh > /var/log/bootlocal.log 2>&1 & fi 

Un caso d’uso per me è

Di solito inserisco directory shared come /c/Users/larry/shared , quindi aggiungo script

 #/bin/bash ln -s /c/Users/larry/shared /home/docker/shared 

Quindi ogni volta posso accedere a ~/shared in boot2docker come nello stesso host

vedi FAQ.md (fornito da @KCD)

Se si utilizza boot2docker (Windows), si dovrebbe fare quanto segue:

Prima crea una cartella condivisa per la macchina virtuale boot2docker:

 "C:/Program Files/Oracle/VirtualBox/VBoxManage" sharedfolder add default -name some_shared_folder -hostpath /c/some/path/on/your/windows/box #Then make this folder automount docker-machine ssh vi /var/lib/boot2docker/profile 

Aggiungi alla fine del file di profilo:

 sudo mkdir /windows_share sudo mount -t vboxsf some_shared_folder /windows_share 

Riavvia la finestra mobile

 docker-machine restart 

Verificare che il contenuto della cartella sia visibile in boot2docker:

 docker-machine ssh ls -al /windows_share 

Ora puoi montare la cartella usando la finestra mobile o la finestra mobile-componi. Per esempio:

 docker run it --rm --volume /windows_share:/windows_share ubuntu /bin/bash ls -al /windows_share 

Se le modifiche nel file di profilo vengono perse dopo il riavvio di VM o di Windows, eseguire le seguenti operazioni:

1) Modifica il file C: \ Programmi \ Docker Toolbox \ start.sh e commenta la seguente riga:

 #line number 44 (or somewhere around that) yes | "${DOCKER_MACHINE}" regenerate-certs "${VM}" #change the line above to: # yes | "${DOCKER_MACHINE}" regenerate-certs "${VM}" 

Grazie per il tuo aiuto con questo. Altri flag aggiuntivi che dovevo aggiungere, in modo che il nuovo supporto fosse accessibile dall’utente “docker” boot2docker:

 sudo mount -t vboxsf -o umask=0022,gid=50,uid=1000 Ext-HD /Volumes/Ext-HD 

Non posso farlo funzionare seguendo le istruzioni di Larry Cai. Ho pensato di poter apportare modifiche a “c: \ Programmi \ Boot2Docker per Windows \ start.sh”, aggiungi sotto

eval "$(./boot2docker.exe shellinit 2>/dev/null | sed 's,\\,\\\\,g')"

il tuo comando di mount

eval "$(./boot2docker ssh 'sudo mount -t vboxsf c/shared /c/shared')"

Aggiungo anche il comando per avviare il mio contenitore qui.

eval "$(docker start KDP)"

Con la finestra mobile 1.3 non è più necessario montare manualmente. I volumi dovrebbero funzionare correttamente fino a quando l’origine sull’host vm si trova nella directory dell’utente.

https://blog.docker.com/2014/10/docker-1-3-signed-images-process-injection-security-options-mac-shared-directories/