Oui vous pouvez utiliser des secrets si vous utilisez un composer un fichier . (Vous n'avez pas besoin d'exécuter un essaim).
Vous utilisez un fichier de composition avec docker-compose : il y a documentation pour "secrets" dans un fichier docker-compose.yml .
Je suis passé à docker-compose parce que je voulais utiliser des secrets. Je suis heureux de l'avoir fait, cela semble beaucoup plus propre. Chaque service correspond à un conteneur. Et si vous voulez un jour passer à l'exécution d'un essaim, vous y êtes déjà.
Note : Les secrets ne sont pas chargés dans l'environnement du conteneur, ils sont montés dans le répertoire /run/secrets/.
Voici un exemple :
1) Structure du projet :
|
|--- docker-compose.yml
|--- super_duper_secret.txt
2) Contenu du fichier docker-compose.yml :
version: "3.6"
services:
my_service:
image: centos:7
entrypoint: "cat /run/secrets/my_secret"
secrets:
- my_secret
secrets:
my_secret:
file: ./super_duper_secret.txt
3) Contenu de super_duper_secret.txt :
Whatever you want to write for a secret really.
4) Exécutez cette commande depuis la racine du projet pour vérifier que le conteneur a bien accès à votre secret (Docker doit être en cours d'exécution et docker-compose installé) :
docker-compose up --build my_service
Vous devriez voir votre conteneur sortir votre secret.