0

I've been attempting to move an application to the cloud for a while now and have most of the services set up in pods running in a k8s cluster. The last piece has been giving me trouble, I need to set up an image with an older piece of software that cannot be installed silently. I then attempted in my dockerfile to install its .net dependencies (2005.x86, 2010.x86, 2012.x86, 2015.x86, 2015.x64) and manually transfer a local install of the program but that also did not work.

Is there any way to run through a guided install in a remote windows image or be able to determine all of the file changes made by an installer in order to do them manually?

1 Answers1

0

You can track the changes done by the installer following these steps:

  • start a new container based on your base image
docker run --name test -d <base_image>
  • open a shell in the new container (I am not familiar with Windows so you might have to adapt the command below)
docker exec -ti test cmd
  • Run whatever commands you need to run inside the container. When you are done exit from the container

  • Examine the changes to the container's filesystem:

docker container diff test

You can also use docker container export to export the container's filesystem as a tar archive, and then docker image import to create an image from that archive.

Mihai
  • 9,526
  • 2
  • 18
  • 40
  • The issue I'm having is installing something into the windows container. The software that must be installed on this image is only available in an attended installer. – Foolish Dave Feb 19 '20 at 20:29
  • My answer solves exactly that problem if you follow the steps. – Mihai Feb 20 '20 at 04:02
  • The installer requires that you utilize the install gui, there are no command line arguments or prompts to run it. – Foolish Dave Feb 20 '20 at 14:19