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, eu quero ver o volume assim: /mnt/extra-addons
Qualquer ideia?
Eu não acho que usar o
local-persist
driver seja o caminho a seguir. Não foi atualizado há algum tempo. Você pode montar um diretório local (host) em um contêiner de docker usando o docker mount.A execução do 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. Agora, essa é uma pasta compartilhada de leitura / gravação em dois sentidos. Vários contêineres podem montar a mesma pasta. E persistirá assim que você desligar o seu contêiner.
fonte