Sim , você pode usar segredos se usar um arquivo de composição . (Você não precisa executar um enxame).
Você usa um arquivo de composição com docker-compose : existe documentação para "segredos" em um arquivo docker-compose.yml .
Eu mudei para o docker-compondo porque queria usar segredos. Estou feliz que sim, parece muito mais limpo. Cada serviço é mapeado para um contêiner. E se você quiser mudar para um enxame, basicamente já está lá.
Nota: Segredos não são carregados no ambiente do contêiner, eles são montados em / run / secrets /
Aqui está um exemplo:
1) Estrutura do Projeto:
|
|--- docker-compose.yml
|--- super_duper_secret.txt
2) conteúdo do 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) conteúdo super_duper_secret.txt:
Whatever you want to write for a secret really.
4) Execute este comando a partir da raiz do projeto para verificar se o contêiner tem acesso ao seu segredo (o Docker deve estar em execução e o docker-compose instalado):
docker-compose up --build my_service
Você deve ver seu contêiner exibindo seu segredo.