Diretório de montagem do Docker de volume

1

Atualmente, estou tentando me familiarizar com o docker, mas encontrei um problema ao fazer isso. Estou tentando compartilhar um volume entre dois contêineres, mas não quero que eles coloquem seus arquivos na raiz dos volumes.

É assim que deve ser:

Container1: o Mysql tem que armazenar / var / lib / mysql / * - > Volume1 / mysql

Recipiente2: O Ngnix precisa armazenar / var / www / * - > Volume1 / www

É assim que os contêineres são criados com:

-v Volume1:/var/lib/mysql/
-v Volume1:/var/www/

Container1: o Mysql tem que armazenar / var / lib / mysql / * - > Volume1

Recipiente2: O Ngnix precisa armazenar / var / www / * - > Volume1

TLDR: Eu não faço para criar um volume por causa de um único arquivo, mas para que isso seja viável, tenho que manter a ordem no volume usando diretórios.

    
por shim_ 18.05.2016 / 14:08

2 respostas

1

Se bem entendi, você queria algo assim:

docker run -it --name mysql -v volume/mysql:/mountpoint alpine ash
docker run -it --name nginx -v volume/nginx:/mountpoint alpine ash

Mas isso não é possível. Você não pode montar um subdiretório de um volume.

Se você precisa desse controle refinado, seria melhor montar diretórios de host apenas com -v

btw: Não há necessidade de o container nginx ter os arquivos mysql. De outra forma, o mysql não precisa dos arquivos www. Eu suponho que estes eram apenas exemplos genéricos

    
por 13.08.2017 / 21:38
0

Você pode apenas montá-los como -v /path/to/volume1/mysql:/var/lib/mysql e -v /path/to/volume1/www:/var/www

    
por 20.05.2016 / 20:48

Tags