Docker Machine en Mac: ¿No puede ver los volúmenes montados en docker host / docker-machine? ¿Dónde se almacenan físicamente los volúmenes?
Estoy en una computadora portátil Macbook Pro y ejecutomáquina acoplable (0.5.0) ydocker-compose (1.5.0) para poner en marcha mis contenedores.
Esto significa que estoy usando docker-machine para crear mi virtualbox boot2docker controlado por máquinas HOST, que ejecutarán mi docker daemon y alojarán todos mis contenedores.
Creo que me falta algo crítico con el concepto de HOSTS y VOLUME, ya que se refieren a Docker y la documentación.
Este es mi archivo docker-compose.yml (la web simplemente construye la imagen php: 5.6-apache):
web:
restart: "always"
build: ./docker-containers/web
ports:
- "8080:80"
volumes:
- ./src:/var/www/html
links:
- mysql:mysql
mysql:
restart: "always"
image: mysql:5.7
volumes_from:
- data
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=XXX
data:
restart: "no"
image: mysql:5.7
volumes:
- /var/lib/mysql
command: "true"
La documentación del archivo Docker Compose para volúmenes está aquí:http://docs.docker.com/compose/compose-file/
Declara por volúmenes -Monte rutas como volúmenes, opcionalmente especificando una ruta en la máquina host (HOST: CONTAINER), o un modo de acceso (HOST: CONTAINER: ro).
HOST en este caso se refiere a mi VM creada por docker-machine, ¿correcto? ¿O mi sistema local de archivos macbook? ¿Montar una ruta en mi VM a un contenedor?
Debajoweb Declaro:
volumes:
- ./src:/var/www/html
y esto está mapeando mi sistema local de archivos macbook./src carpeta en mi macbook pro a mi contenedor web. Sin embargo, si mi comprensión es correcta, ¿no debería estar mapeando el./src carpeta en miVM a/ var / www / html dentro del contenedor web? En teoría, creo que debería tener que COPIAR mi carpeta local del sistema de archivos mac./src a mi VM primero, y luego hago esta declaración de volumen. ¿Parece que Docker-compose lo está haciendo mágicamente todo a la vez?confuso
Por último, podemos ver que estoy creando un contenedor de solo datos para conservar mis datos mysql. He declarado:
volumes:
- /var/lib/mysql
¿No debería esto crear un/ var / lib / mysql carpeta en mi VM host boot2docker y luego podría navegar a esta carpeta en la VM, ¿sí / no? Cuando uso docker-machine para ssh en mi máquina, y luego navego a/ var / lib, Ahi estaNO carpeta mysql en absoluto? ¿Por qué no se está creando? ¿Hay algo mal con mi configuración? : /
¡Gracias por adelantado! ¡Cualquier explicación de lo que estoy haciendo mal aquí sería muy apreciada!