Preciso criar um volume persistente para o Docker. O volume deve ser nomeado extra-addons
e localizado em /mnt/
.
Eu executo este comando:
sudo docker volume create /mnt/extra-addons
Recebi esta mensagem de erro:
Error response from daemon: create /mnt/extra-addons: "/mnt/extra-addons" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path
Observe que quando simplesmente executo: sudo docker volume create extra-addons
, não enfrento esse problema, mas quando inspeciono o volume em questão usando sudo docker inspect extra-addons
, vejo que ele está localizado em um local que não desejo:
[
{
"CreatedAt": "2018-04-21T14:40:25+03:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/extra-addons/_data",
"Name": "extra-addons",
"Options": {},
"Scope": "local"
}
]
Quero dizer, prefiro ver o volume assim:/mnt/extra-addons
Qualquer ideia?
Achei a solução:
Eu tive que instalar o plugin local-persist .
Tive que montar o volume para criar no ponto de montagem da seguinte forma:
Confira se recebi o que esperava:
Resultado:
Isso é o que eu estou procurando.
Se você não deseja instalar nenhum plug-in em sua janela de encaixe, recomendo criar um link simbólico para seu volume:
Agora fique à vontade para usar seu volume como de costume (com todos os seus dados sendo inseridos
/mnt
como você deseja)Eu não acho que usar o
local-persist
driver é o caminho a percorrer. Faz tempo que não é atualizado. Você pode montar um diretório local (host) em um contêiner docker usando o docker mount.Executar o seguinte cria um novo contêiner com um diretório montado mapeado para minha área de trabalho.
Agora você pode ver uma
mnt
pasta na raiz do seu contêiner.bin dev etc home mnt proc root sys tmp usr var
Criando um novo arquivo no contêiner
touch /mnt/extra-addons/test.txt
Cria um arquivo test.txt na minha máquina host. No caminho especificado. Esta é agora uma pasta compartilhada de leitura/gravação bidirecional. Vários contêineres podem montar a mesma pasta. E persistirá assim que você desligar o(s) seu(s) contêiner(es).