J'ai besoin de créer un volume persistant pour Docker. Le volume doit être nommé extra-addons
et situé dans /mnt/
.
J'exécute cette commande:
sudo docker volume create /mnt/extra-addons
J'ai reçu ce message d'erreur:
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
Notez que lorsque je lance simplement:, sudo docker volume create extra-addons
je ne fais pas face à ce problème mais quand j'inspecte le volume en question à l'aide sudo docker inspect extra-addons
, je vois qu'il est situé dans un endroit que je ne veux pas:
[
{
"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"
}
]
Je veux dire que je veux plutôt voir le volume comme ceci: /mnt/extra-addons
Une idée?
Je ne pense pas que l'utilisation du
local-persist
pilote soit la solution. Il n'a pas été mis à jour depuis longtemps. Vous pouvez monter un répertoire local (hôte) dans un conteneur Docker à l'aide du montage Docker.L'exécution de ce qui suit crée un nouveau conteneur avec un répertoire monté mappé sur mon bureau.
Vous pouvez maintenant voir un
mnt
dossier à la racine de votre conteneur.bin dev etc home mnt proc root sys tmp usr var
Création d'un nouveau fichier dans le conteneur
touch /mnt/extra-addons/test.txt
Crée un fichier test.txt sur ma machine hôte. Sur le chemin spécifié. Il s'agit maintenant d'un dossier partagé en lecture / écriture bidirectionnelle. Plusieurs conteneurs peuvent monter le même dossier. Et cela persistera une fois que vous aurez fermé votre / vos conteneur (s).
la source