Verifiquei se esses dados estão realmente armazenados na VM boot2docker (criada por docker-machine) e não no contêiner, para que ele persista.No entanto, "Docker-Machine restart" limpa esses dados personalizados na vm.
Não consigo encontrar documentação sobre o que está acontecendo. Encontrei uma postagem no fórum mencionando que os dados em /var / lib / docker serão preservados, mas não consegui encontrar nenhum documento oficial afirmando isso e também parece estranho, considerando que o Guia de armazenamento persistente acima não usa esse caminho ou mesmo menciona que seus dados serão excluídos.
Isso é esperado e, em caso afirmativo, há alguma documentação oficial no caminho correto para armazenar dados persistentes?
Editar: adicionando exemplo de falha do senario
$ docker-machine ssh altdocker@alt:~$ docker run -v /data:/var/lib/mysql --name mydata busybox sh -c "echo 'hello' > /var/lib/mysql/hello"docker@alt:~$ docker run --rm --volumes-from mydata busybox sh -c "cat /var/lib/mysql/hello"hellodocker@alt:~$ exit$ docker-machine restart altStarting VM...$ docker-machine ssh altdocker@alt:~$ docker run --rm --volumes-from mydata busybox sh -c "cat /var/lib/mysql/hello"cat: can't open '/var/lib/mysql/hello': No such file or directory
Eu não uso boot2docker, mas se / data for apagado na reinicialização, é aí que seu volume está sendo armazenado (docker run -v /data:/var/lib/mysql), então será perdido.
O que você está fazendo também é combinar dois padrões diferentes para lidar com a persistência do volume. Para obter persistência, os contêineres podem montar volumes a partir de um local especificado no sistema host (que se presume ser persistente) ou podem ser associados a um contêiner de dados e montados com --volumes-from. Parece que a abordagem do sistema de arquivos host não é apropriada para boot2docker, e você deve usar o padrão de volume de dados (apenas).
Presumivelmente, você deve estar criando seu contêiner de dados com -v /var/lib/mysql, que -v /data:/var/lib/mysql.
Observe que estou usando o docker para Mac beta, que está usando a vm xhyve.
O conteúdo de /var/lib/boot2docker será persistido entre a máquina restarts.So se você quiser que certos arquivos estejam disponíveis em sua vm, coloque-os neste diretório.
Se você quiser que eles sejam acessíveis em um local diferente para executar contêineres docker, você pode adicionar o seguinte a/var/lib/boot2docker / profile:
Se você deseja adicionar outra configuração aos arquivos do sistema que persistirão entre as reinicializações da vm, como valores extras em seu arquivo hosts, você pode adicionar um comando como o abaixo para /var / lib / boot2docker / profile: