3

I am testing Sitecore 10 using docker containers. I followed the guide in Sitecore docs Everything seems to work fine, but I had some problems while installing new packages. For example I wanted to install the Sitecore.ManagementServices module, but the installation stopped with the error "Background process failed: Failed to delete the file 'c:\inetpub\wwwroot\bin\GraphQL.dll'. It looks like the c:\inetpub\wwwroot folder is read-only when installing packages.

As a workaround, I unpacked the files from the package and put them on my deploy/platform folder, in order to let the WatchDirectory script to copy them to c:\inetpub\wwwroot, and it works. But this is not a long-term solution. Do I have to change something in the docker-compose.override.yml file in order to be able to install packages ?

2
  • It's not really how to Docker. You're meant to have a known basis container state that you then deploy everything you need to. You and everyone else on your team can then easily get up and going by just dockering up and running the solution publish.
    – Mark Cassidy
    Commented Sep 29, 2020 at 13:14
  • 2
    If you want packages to be part of your base docker image, you should build a layer of your own to put "on top" basically, and share that in your in house registry.
    – Mark Cassidy
    Commented Sep 29, 2020 at 13:15

1 Answer 1

3

The sitecore.aspnet.gettingstarted didn't install SXA to the Sitecore XP0 instance, so I needed to modify the docker files in order to add SPE and SXA to my images.

Here is how to do it, if anyone is in the same situation, and need to add a module to their docker-compose file:

in .env add the following variables:

changes in .env

You'll need mssql to add some databases, solr to add some index and cm to add the modules. In the docker-compose.override.yml, add information about SPE and SXA in the arguments part of the declaration if those images:

For mssql: enter image description here

For solr: enter image description here

For cm: enter image description here

Those arguments are read by the Dockerfile situated respectively in:

./docker/build/mssql/Dockerfile ./docker/build/solr/Dockerfile ./docker/build/cm/Dockerfile

mssql/Dockerfile: enter image description here

solr/Dockerfile: enter image description here

cm/Dockerfile: enter image description here

You just build your images in Powershell with the command: docker-compose build

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.