Oui , vous pouvez utiliser des secrets si vous utilisez un fichier de composition . (Vous n'avez pas besoin d'exécuter un essaim).
Vous utilisez un fichier de composition avec docker-compose : il existe une documentation pour les "secrets" dans un fichier docker-compose.yml .
Je suis passé à docker-compose parce que je voulais utiliser des secrets. Je suis content de l'avoir fait, il semble beaucoup plus propre. Chaque service est mappé sur un conteneur. Et si jamais vous souhaitez passer à l'exécution d'un essaim à la place, vous êtes déjà là.
Remarque: les secrets ne sont pas chargés dans l'environnement du conteneur, ils sont montés dans / run / secrets /
Voici un exemple:
1) Structure du projet:
|
|--- docker-compose.yml
|--- super_duper_secret.txt
2) Contenu de 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 à partir de la racine du projet pour voir que le conteneur a 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.