I’m setting up a windows container running a windows image with visual studio 2019 build tools. To set up correctly, I need to run the .bat file "vcvarsall.bat" that is inside the container (located in
C:Program Files (x86)Microsoft Visual Studio19CommunityVCAuxiliaryBuild) whenever we start up the container.
This allows me to compile projects using cl and link from the command line. Here’s my current Dockerfile :
FROM abrarov/msvc-2019 COPY eigen C:UsersContainerUserDocumentslibraries; RUN setx path "%path%;c:cmakebin"; RUN setx path "%path%;C:Program Files (x86)Microsoft Visual Studio19CommunityVCAuxiliaryBuild"; ENTRYPOINT vcvarsall.bat x86_x64
This executes the script whenever I run the container with
docker run --rm -ti myContainer, but terminates the container as soon as it ends executing the script. As far as I understand, this is normal behavior of ENTRYPOINT, but I want to stay inside the container and be able to interact with it. How can I work around this? Is there a way to launch a new cmd.exe so that the process doesn’t end until the user types
Source: Docker Questions