Как проверить, что они все еще существуют для остальных команд RUN в dockerfile?
Они не будут.
В среде, которая существует here
RUN ["C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\vcvarsall.bat", "x86_amd64"]
выполняет процесс, который выполняет командный файл с аргументом x86_amd64
, создавая новые параметры среды для любых дочерних процессов, которых нет, затемвыходы.Затем:
RUN qmake app.pro -spec win32-msvc "CONFIG+=debug" "CONFIG+=qml_debug"
выполняет другой процесс в среде, которая существовала там , которая все еще является средой.И так далее.
В этом поведении нет ничего специфического для Docker или Windows.В любой операционной системе процесс не может изменять среду своего родителя, только копию той среды, которую он наследует и передает любым дочерним процессам.
Если вам нужны все команды:
qmake app.pro -spec win32-msvc "CONFIG+=debug" "CONFIG+=qml_debug"
C:\\Qt\\Tools\\QtCreator\\bin\\jom.exe qmake_all
C:\\Qt\\Tools\\QtCreator\\bin\\jom.exe
C:\\Qt\\Tools\\QtCreator\\bin\\jom.exe install
для запуска в среде, измененной vcvarsall.bat x86_amd64
, затем вы запустили их все в той же оболочке, что и эта команда, например,
RUN "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\vcvarsall.bat" x86_amd64 && ^
qmake app.pro -spec win32-msvc "CONFIG+=debug" "CONFIG+=qml_debug" && \
C:\\Qt\\Tools\\QtCreator\\bin\\jom.exe qmake_all && \
C:\\Qt\\Tools\\QtCreator\\bin\\jom.exe && \
C:\\Qt\\Tools\\QtCreator\\bin\\jom.exe install
См. Также файл docker ENV
команда для настройки глобальных параметров среды в док-контейнере.