В настоящее время мы работаем с приложением в одном контейнере докеров, приложению требуются всевозможные конфиденциальные данные для передачи в качестве переменных среды,
Я помещаю их в команду запуска, чтобы они не попадали в образ, а затем в репозиторий, однако я получаю очень небезопасную команду запуска,
Теперь я понимаю, что секреты докеров существуют, однако как я могу использовать их без развертывания кластера? или есть другой способ защитить эти данные?
Наилучшие пожелания,
да, вы можете использовать секреты, если используете составить файл. (Вам не нужно запускать рой).
Вы используете составной файл с докер-сочинять: Там есть документация для "секретов" в файле docker-compose.yml.
Я перешел на docker-compose, потому что хотел использовать секреты. Я счастлив, что сделал, это кажется намного более чистым. Каждая служба сопоставляется с контейнером. И если вы когда-нибудь захотите вместо этого переключиться на запуск роя, вы в основном уже там.
Примечание: секреты не загружаются в среду контейнера, они монтируются в / run / secrets /
Вот пример:
1) Структура проекта:
|
|--- docker-compose.yml
|--- super_duper_secret.txt
2) содержимое 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) содержимое super_duper_secret.txt:
Whatever you want to write for a secret really.
4) Запустите эту команду из корня проекта, чтобы убедиться, что у контейнера есть доступ к вашему секрету (Docker должен быть запущен и docker-compose установлен):
docker-compose up --build my_service
Вы должны увидеть, как ваш контейнер выводит ваш секрет.
Вы не можете ... Он не поддерживает секреты без Swarm. Если только не '' может быть '' вы '' Swarm '', используя только один узел.
Другим решением было бы, я думаю, использовать стороннее программное обеспечение хранилища, подобное этому:
Но затем, чтобы использовать секреты в ваших контейнерах из Vault, вам нужно будет прочитать документ.
Надеюсь, это приведет вас к правильному началу.