Rather than cloning a repo, the 10.2 docs have you download a “Container Deployment Package“. The package contains several different versions of the same file that were in the repo I cloned the last time around as well as files for Kubernetes deployments. I went with the files in
compose\2009\xp0. When I ran
compose-init.ps1, I got an error:
A parameter cannot be found that matches parameter name 'AllowPrerelease'
Looking at the contents of the script, I could see that there were several different commands using that parameter. I figured I needed to update something, but wasn’t sure what. A quick google turned up the answer from Alex Van Wolferen. Tip: Don’t skip the part about closing and reopening your terminal, smh.
Bringing up the containers after that went pretty smoothly. I did get an error from the traefik container about “The process cannot access the file because it is being used by another process”, but that was one I have seen before, so I knew I just needed to stop IIS again since my machine had restarted since the last time I did it. I still use IIS for my main gig, so I don’t want to switch the service to a manual start.
After bringing up the new containers, I saw that I now had two versions of each container. When I used the docker-examples repo, I pulled ltsc2019 versions, while the I chose to go with the 2009 (a.k.a 20H2) from the container deployment package. I used the following commands to remove the previous versions:
docker rmi $(docker images -q scr.sitecore.com/sxp/*:*-ltsc2019) docker rmi $(docker images -q scr.sitecore.com/sxp/*/*:*-ltsc2019)
I had to use two separate commands since the wildcard doesn’t match a slash character. I’m not sure if there is a good way to do this with a single command.
Can I haz process isolation?
I inspected my images and saw that they were using hyper-v isolation mode. Not a huge deal for me since I have 64GB of RAM, but I figured I should try to spin them up with process isolation since that’s apparently what the cool kids are doing these days. So, I ran
docker-compose down, change the
TRAEFIK_ISOLATION variables to process in the
.env file and ran
docker-compose up -d again.
And here’s the error I got:
Cannot start service solr: hcsshim::CreateComputeSystem e4faa6880cbff5760d92eef0578ce1f97d001d21dde7ac48fce7aa4c9e299585: The container operating system does not match the host operating system.
I turned to google for help and found a blog post from Vincent Lui. I’m on Windows 10 21H2. According to Vincent, I could run the 20H2 versions of the Sitecore containers if I upgraded to Windows 11. Unfortunately, my current hardware isn’t compatible with Windows 11 and I don’t really want to take the time to shop and rebuild my machine just now. So it sounds like I’m SOL for the time being as far as process isolation is concerned.