У нас есть несколько образов докеров, которые мы создаем с помощью sbt-native-packager, которые должны взаимодействовать со службами AWS.При запуске их вне AWS нам необходимо явно предоставить учетные данные.
Я знаю, что мы можем явно передавать переменные среды, содержащие учетные данные AWS.Это усложняет сохранение секретности наших учетных данных.Один из вариантов - предоставить их через командную строку, обычно сохраняя их в нашей истории оболочки (да, я знаю, этого можно избежать, добавив пробел в начале команды, но это легко забыть) и подвергнув их более высокому рискуслучайного копирования / вставки.В качестве альтернативы мы можем предоставить их через env-файл.Но это подвергает нас возможности проверять их в системе управления версиями или непреднамеренно передавать их на другой сервер.
Мы обнаружили, что идеальной практикой является монтирование нашего локального каталога ~/.aws/
в домашний каталог работающего пользователя дляДокер контейнер.Однако наши попытки заставить его работать с образами sbt-native-packager оказались безуспешными.
Одна уникальная деталь для образов sbt-native-packager (по сравнению с другими) состоит в том, что они создаются с использованием док-станции ENTRYPOINT вместо CMD для запуска приложения.Я не знаю, имеет ли это отношение к проблеме.
Итак, вопрос: можно ли предоставить учетные данные AWS в докер-контейнер, созданный sbt-native-packager, путем монтирования папки учетных данных AWS через командную строку?параметры при запуске?