скопируйте файл из AWS S3 в контейнер docker, когда контейнер создается и требуется код MFA из Google authenticator

#docker #amazon-s3 #docker-compose

#docker #amazon-s3 #docker-compose

Вопрос:

У меня есть файл, расположенный в корзине S3: в файле docker я действительно могу успешно получить файл, повторив MFA в копии s3.

 RUN echo 999999 | aws s3 cp s3://s3/mssql/${BACKUP}.bak /usr/work/${BACKUP}.bak
 

На самом деле это работает просто отлично, 999999 — это код MFA из Google authenticator, который необходимо добавить в копию S3, чтобы добиться успеха.

Моя проблема в том, что этот код MFA должен запрашиваться процессом сборки docker, а не повторяться.

 RUN aws s3 cp s3://s3/mssql/${BACKUP}.bak /usr/work/${BACKUP}.bak
 

Это не работает, потому что ввод tty, по-видимому, недоступен во время процесса сборки. Я не могу заставить приглашение вообще работать.

Я попытался установить эти флаги в файле docker-compose.yml, но это применяется, когда контейнер ЗАПУСКАЕТСЯ, а не при СБОРКЕ контейнера.

 stdin_open: true
tty: true
 

Существует еще одна проблема, предположим, что я предоставляю код MFA в качестве переменной среды, тогда сборка контейнера может занять больше времени, чем время истечения срока действия кода MFA.

Есть ли способ получить токен или какой-либо другой более длительный контекст безопасности, который можно передать в docker-compose, чтобы он мог получить файл во время сборки.

В качестве альтернативы, есть ли способ запрашивать ввод во время создания контейнера?