2015-06-02 16 views
5

Sto sviluppando lato server e il mio spazio di lavoro si trova in D: perché non sono un fan dell'archiviazione dei dati su C: ma non riesco a trovare un modo per mappare d: \ Workspace in/home/area di lavoroCome si esegue il mapping del volume all'esterno di C: Users al contenitore su Windows?

ho provato la creazione di uno symblink da C: \ Users \ nome utente per D: \ Workspace da:

  1. mappa C: \ Users \ nome utente \ Area di lavoro a/home/spazio di lavoro
  2. arresto contenitore
  3. rinominare C: \ Users \ nomeutente \ Area di lavoro
  4. Creare un collegamento simbolico denominato Area di lavoro a D : \ Workspace
  5. contenitore Inizio

All'inizio Docker funzionato bene durante la sessione fino a quando ho riavviato Boot2Docker, quindi avviare il contenitore che avrei avuto "C: \ Users \ nome utente file \ Workspace esiste".

Penso che questo sia il problema di un Docker, ma comunque voglio mappare all'esterno di C: \ Users.

risposta

5
  • Condividi spazio di lavoro tra host e macchine virtuali Boot2Docker $ boot2docker down $ cd "C:\Program Files\Oracle\VirtualBox" $ VBoxManage sharedfolder add boot2docker-vm --name mydata --hostpath "D:\Workspace" $ boot2docker up

  • Monte cartella $ boot2docker ssh 'sudo mkdir -p /data' $ boot2docker ssh 'sudo mount -t vboxsf -o "defaults,uid=33,gid=33,rw" mydata /data'

  • condiviso Crea contenitore di soli dati. Best practice per Docker alwaysrecommends si utilizzano contenitori di soli dati. È possibile riutilizzare contenitori di dati di sola già disponibili: $ docker run --volume /data:/data --name mydata dylanlindgren/docker-laravel-data

  • Se si desidera che questa modifica sia permanente, è necessario aggiungere l'ultimo comando all'interno del file di configurazione di avvio /var/lib/boot2docker/bootlocal.sh sleep 10 && sudo mount -t vboxsf -o "defaults,uid=33,gid=33,rw" mydata /data docker start mydata

Poi, avrete il vostro spazio di lavoro montato in/dati

È possibile trovare maggiori documentazione su VirtualBox Guest Additions in Boot2Docker here.

+0

ho ottenuto questo errore : mount.vboxsf: montaggio non riuscito con l'errore: Errore di protocollo mount: montaggio mydata on/data failed: Errore di protocollo – deathemperor

+1

Aggiungo un primo passaggio sulla creazione di un contenitore di soli dati. Ho omesso quel passaggio nella risposta precedente. – dmoreno

+0

Evitare "Errore protocollo", riprovare il comando VBoxManage. Assicurarsi che questo comando funzioni senza errori. – dmoreno

4

Risposta aggiornata per ora, poiché boot2docker è stato deprecato. Lo stesso è ora ottenuto con la finestra mobile.

La risposta è descritto qui: https://github.com/docker/machine/issues/1814

In sostanza, dopo aver montato le cartelle condivise in Virtual Box interfaccia utente, è necessario eseguire i seguenti comandi in un prompt dei comandi:

# Note the extra/at the beginning of the path because of msys/MinGW. 
docker-machine.exe ssh default 'sudo mkdir --parents //e/Documents/workspace' 
docker-machine.exe ssh default 'sudo mount -t vboxsf e/Documents/workspace //e/Documents/workspace' 
+0

Nelle regole StackOverflow, non solo devi fornire i passaggi per completare l'attività in corso, ma spiega ogni riga e perché gli stai dicendo di farlo. Povera risposta, 5/10 –

Problemi correlati