Docker: crie um volume persistente em um diretório específico

5

Eu preciso criar um volume persistente para o Docker. O volume deve ser denominado extra-addons e localizado em /mnt/ .

Eu corro 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

Note que quando eu simplesmente executo: sudo docker volume create extra-addons , eu não enfrento este problema, mas quando eu inspeciono o volume em questão usando sudo docker inspect extra-addons , eu vejo que ele está localizado em um lugar que eu não quero:

[
    {
        "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"
    }
]

Quer dizer, eu prefiro ver o volume assim: /mnt/extra-addons

Alguma ideia?

    
por Billal Begueradj 21.04.2018 / 13:32

1 resposta

5

Eu encontrei a solução:

Eu tive que instalar o plugin local-persist .

Eu tive que montar o volume para criar o ponto de montagem da seguinte forma:

 sudo docker volume create -d local-persist -o mountpoint=/mnt/ --name=extra-addons

Verifique se recebi o que esperava:

sudo docker volume inspect extra-addons

Resultado:

[
    {
        "CreatedAt": "0001-01-01T00:00:00Z",
        "Driver": "local-persist",
        "Labels": {},
        "Mountpoint": "/mnt/",
        "Name": "extra-addons",
        "Options": {
            "mountpoint": "/mnt/"
        },
        "Scope": "local"
    }
]

Era isso que eu estava procurando.

    
por 21.04.2018 / 15:05

Tags