Я предлагаю избегать проблемы, а не пытаться ее исправить.
- Если вам нужны переменные во время сборки, используйте build args .
- Если вы хотите / нужно использовать переменные окружения во время сборки, поместите их вместе с нужными командами в сценарий оболочки и запустите его при сборке.
- Директива
ENV
в Dockerfile
предназначена для установки переменные окружения для контейнера. Не злоупотребляйте им, так что вам не придется исправлять побочные эффекты.
Если вы настаиваете на том, чтобы попытаться это исправить и сбросить переменные во время выполнения, вам нужно добавить команды unset
в загрузочный скрипт вашего образа, например:
FROM alpine
ENV SECRET there is no spoon
RUN apk add --no-cache bash
RUN echo "unset SECRET" >> /root/.bashrc
ENTRYPOINT ["/bin/bash"]