#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, чтобы он мог получить файл во время сборки.
В качестве альтернативы, есть ли способ запрашивать ввод во время создания контейнера?