Docker Machine no Mac: Não consegue ver volumes montados no docker host / docker-machine? Onde os volumes estão fisicamente armazenados?
Estou em um laptop Macbook Pro e executandodocker-machine (0.5.0) edocker-compor (1.5.0) para colocar meus contêineres em funcionamento.
Isso significa que estou usando a docker-machine para criar minhas máquinas HOST controladas pelo virtualbox boot2docker, que executam o daemon do docker e hospedam todos os meus contêineres.
Acho que estou perdendo algo crítico com o conceito de HOSTS e VOLUME, pois eles se referem ao Docker e à documentação.
Este é o meu arquivo docker-compose.yml (a Web simplesmente cria a imagem 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"
A documentação do Docker Compose para volumes está aqui:http://docs.docker.com/compose/compose-file/
Ele indica volumes -Monte caminhos como volumes, especificando opcionalmente um caminho na máquina host (HOST: CONTAINER) ou um modo de acesso (HOST: CONTAINER: ro).
HOST neste caso refere-se à minha VM criada pela docker-machine, correto? Ou meu sistema de arquivos macbook local? Montando um caminho na minha VM em um contêiner?
Sobrede Eu declaro:
volumes:
- ./src:/var/www/html
e isso está mapeando meu sistema de arquivos macbook local./src pasta no meu macbook pro para o meu contêiner da web. Se meu entendimento está correto, não deveria estar mapeando o./src pasta no meuVM para/ var / www / html dentro do contêiner da web ?! Em teoria, acho que devo ser obrigado a copiar minha pasta local do sistema de arquivos mac./src para minha VM primeiro e depois faço essa declaração de volume. Parece que o docker-compose está fazendo magicamente tudo de uma só vez?confuso
Por fim, podemos ver que estou criando um contêiner somente para persistir meus dados mysql. Eu declarei:
volumes:
- /var/lib/mysql
Isso não deveria criar um/ var / lib / mysql pasta na minha VM HOST boot2docker e eu poderia navegar para esta pasta na VM, sim / não? Quando uso a docker-machine para ssh na minha máquina e, em seguida, navegue até/ var / lib, Há simNÃO pasta mysql? Por que não está sendo criado? Há algo de errado com minha configuração? : /
Desde já, obrigado! Quaisquer explicações sobre o que estou fazendo de errado aqui serão muito apreciadas!