Sì , puoi usare i segreti se usi un file di composizione . (Non è necessario eseguire uno sciame).
Si utilizza un file di composizione con docker-compose : è presente la documentazione per "segreti" in un file docker-compose.yml .
Sono passato alla docker-compose perché volevo usare i segreti. Sono felice di averlo fatto, sembra molto più pulito. Ogni servizio è mappato su un contenitore. E se mai vuoi passare a eseguire uno sciame invece, sei praticamente già lì.
Nota: i segreti non vengono caricati nell'ambiente del contenitore, sono montati su / run / secrets /
Ecco un esempio:
1) Struttura del progetto:
|
|--- docker-compose.yml
|--- super_duper_secret.txt
2) contenuto 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) contenuti super_duper_secret.txt:
Whatever you want to write for a secret really.
4) Esegui questo comando dalla radice del progetto per vedere che il contenitore ha accesso al tuo segreto, (Docker deve essere in esecuzione e docker-compose installato):
docker-compose up --build my_service
Dovresti vedere il tuo contenitore in uscita il tuo segreto.