qu'est-ce que le drapeau' z ' dans les volumes des conteneurs docker-de l'option?

en parcourant les docs docker, je suis tombé sur des volumes-de (https://docs.docker.com/engine/reference/commandline/run/) option pour la commande docker run. Je n'ai pas bien comprendre les différences entre ro, rw, and z option à condition que-

$ docker run --volumes-from ba8c0c54f0f2:ro -i -t ubuntu pwd

Dans la commande ci-dessus ro l'option est remplacée par z. Je serai reconnaissant si quelqu'un explore les différences de l'utilisation de ces options.

21
demandé sur Céline Aussourd 2016-02-05 10:06:40

2 réponses

deux suffixes: z ou: Z peuvent être ajoutés au volume. Ces suffixes indiquent à Docker de réétiqueter les objets file sur les volumes partagés. L'option' z ' indique à Docker que le contenu du volume sera partagé entre les conteneurs. Docker étiquettera le contenu avec une étiquette de contenu partagé. Les étiquettes de volumes partagés permettent à tous les conteneurs de lire/écrire du contenu. L'option " Z " indique à Docker d'étiqueter le contenu avec une étiquette privée non partagée.

https://github.com/rhatdan/docker/blob/e6473011583967df4aa5a62f173fb421cae2bb1e/docs/sources/reference/commandline/cli.md

si vous utilisez selinux, vous pouvez ajouter les options z ou Z pour modifier l'étiquette selinux du fichier hôte ou du répertoire monté dans le conteneur. Cela affecte le fichier ou le répertoire sur la machine hôte elle-même et peut avoir des conséquences en dehors de la portée de Docker.

l'option z indique que le Mont bind le contenu est partagé entre plusieurs conteneurs. L'option Z indique que le contenu du montage bind est privé et non partagé. Faites preuve d'une extrême prudence avec ces options. Bind-le montage d'un répertoire système tel que /home ou /usr avec l'option Z rend votre machine hôte inopérante et vous pourriez avoir besoin de changer l'étiquette des fichiers machine hôte à la main.

$ docker run-d \ -il \ --nom de devtest \ - v "$(pwd)"/cible: / app: z \ nginx:le dernier

https://docs.docker.com/storage/bind-mounts/#configure-bind-propagation

21
répondu amit23comp 2018-03-26 11:03:08
docker run --volumes-from a64f10cd5f0e:z -i -t rhel6 bin/bash

Je l'ai testé, je l'ai monté dans un container et de ce container à un autre nouveau container. IL va de pair avec option rw

1
répondu amit23comp 2018-05-04 06:45:07