HowtoDocker : complément d'info pour config & secret

This commit is contained in:
Romain Dessort 2018-06-22 11:01:41 +02:00
parent acaef5e315
commit feed36b9de

View file

@ -645,19 +645,34 @@ en dépendent (conteneurs), soit créer un nouveau _config_ (avec un nouveau nom
donc) et l'ajouter au conteneur en question (non testé). On perd donc la
souplesse des volumes dans ce cas là.
Les _config_ se gèrent avec la commande `docker config`. Le serveur doit avoir
le rôle _manager_ dans le cluster Swarm pour pouvoir créer un objet _config_,
puisque cela impacte l'ensemble du cluster :
~~~
# docker config create vim-config .vimrc
07kaw58mhvtkqem46ipkd97i1
# docker config ls
ID NAME DRIVER CREATED UPDATED
07kaw58mhvtkqem46ipkd97i1 vim-config Less than a second ago Less than a second ago
# docker config rm vim-config
vim-config
~~~
### Fichiers sensibles (docker secrets)
Ce sont des objets permettant de stocker des fichiers, au même titre que les _configs_, mais dédiés aux fichiers sensibles comme les clés privée ou fichiers contenant des mots de passe.
Ce sont des objets permettant de stocker des fichiers, au même titre que les
_configs_, mais dédiés aux fichiers sensibles comme les clés privée ou fichiers
contenant des mots de passe.
Ils sont rendus accessibles dans _/run/secrets/_ dans les conteneurs.
Les _secrets_ ne peuvent pas être mis à jour lors d'un redéploiement de stack :
Les _secret_ héritent des mêmes caractéristiques que les _config_ (voir
ci-dessus), à savoir qu'ils sont accessibles partout dans un cluster Swarm mais
ne peuvent ni être modifiés depuis un conteneur ni depuis l'hôte, ils doivent
être recréés en cas de modification.
~~~
failed to update secret stack_monsecret.pem: Error response from daemon: rpc error: code = InvalidArgument desc = only updates to Labels are allowed
~~~
Il faut obligatoirement soit supprimer le _secret_ et donc les objets qui en dépendent, soit créer un nouveau _secret_ (avec un nouveau nom donc) et l'ajouter au conteneur en question (non testé).
Les _config_ se gèrent avec la commande `docker secret`.
### Fichier YAML de description de _stack_ (anciennement _docker-compose.yml_)