Docker-machine monta automáticamente el directorio de usuarios ... Pero a veces eso no es suficiente.
No sé sobre docker 1.6, pero en 1.8 PUEDES agregar un soporte adicional a docker-machine
Agregar punto de montaje de máquina virtual (parte 1)
CLI : (solo funciona cuando la máquina está parada)
VBoxManage sharedfolder add <machine name/id> --name <mount_name> --hostpath <host_dir> --automount
Entonces, un ejemplo en Windows sería
/c/Program\ Files/Oracle/VirtualBox/VBoxManage.exe sharedfolder add default --name e --hostpath 'e:\' --automount
GUI : (NO requiere que la máquina se detenga)
- Inicie "Oracle VM VirtualBox Manager"
- Clic derecho
<machine name>
(predeterminado)
- Configuraciones ...
- Carpetas compartidas
- El ícono Carpeta + a la derecha (Agregar recurso compartido)
- Ruta de la carpeta:
<host dir>
(e :)
- Nombre de carpeta:
<mount name>
(e)
- Marque "Auto-mount" y "Make Permanent" (Lea solo si lo desea ...) (El auto-mount no tiene sentido actualmente ...)
Montaje en boot2docker (parte 2)
Montar manualmente en boot2docker :
- Hay varias formas de iniciar sesión, usar "Mostrar" en "Oracle VM VirtualBox Manager", o ssh / putty en la ventana acoplable por dirección IP
docker-machine ip default
, etc.
sudo mkdir -p <local_dir>
sudo mount -t vboxsf -o defaults,uid=`id -u docker`,gid=`id -g docker` <mount_name> <local_dir>
Pero esto solo es bueno hasta que reinicia la máquina, y luego se pierde el soporte ...
Añadiendo un montaje automático a boot2docker :
Mientras está conectado a la máquina
- Edite / cree (como root)
/mnt/sda1/var/lib/boot2docker/bootlocal.sh
, sda1 puede ser diferente para usted ...
Añadir
mkdir -p <local_dir>
mount -t vboxsf -o defaults,uid=`id -u docker`,gid=`id -g docker` <mount_name> <local_dir>
Con estos cambios, debería tener un nuevo punto de montaje. Este es uno de los pocos archivos que pude encontrar que se llama al arrancar y es persistente. Hasta que haya una solución mejor, esto debería funcionar.
Método antiguo: menos recomendado , pero dejado como alternativa
Como último recurso , puede tomar la alternativa un poco más tediosa y puede modificar la imagen de arranque.
git -c core.autocrlf=false clone https://github.com/boot2docker/boot2docker.git
cd boot2docker
git -c core.autocrlf=false checkout v1.8.1
#o su versión apropiada
- Editar
rootfs/etc/rc.d/automount-shares
Agregue una try_mount_share <local_dir> <mount_name>
línea justo antes de fi al final. Por ejemplo
try_mount_share /e e
Solo asegúrese de no configurar nada que el sistema operativo necesite, como / bin, etc.
docker build -t boot2docker .
# Esto tomará aproximadamente una hora la primera vez :(
docker run --rm boot2docker > boot2docker.iso
- Haga una copia de seguridad del antiguo boot2docker.iso y copie el nuevo en su lugar, en ~ / .docker / machine / machines /
Esto funciona, es largo y complicado
docker versión 1.8.1, docker-machine versión 0.4.0