
Problem-
Time out error when switching to Docker Desktop Windows Containers.
Solution-
If you see this error whilst switching to the Windows Continaners. Head to the C:\ProgramData\Docker folder and remove the readonly access of panic.log file.



Sitecore Consultant. Sitecore MVP 2021 - 2023
Problem-
Time out error when switching to Docker Desktop Windows Containers.
Solution-
If you see this error whilst switching to the Windows Continaners. Head to the C:\ProgramData\Docker folder and remove the readonly access of panic.log file.
See this blog to setup the development environment for Helix Examlpes using Docker
Open the solution from following location – \examples\helix-basic-aspnetcore
Open the containers tab and should list all the containsers with its status-
You may also use following command to check the status of contrianers-
docker ps
Lets debug the Navigation which has content resolver-
Right click the CD container and Attach to Process
Select Managed(.Net 4.x) debug type. Select w3wp.exe and click Attach.
Helix Examples Solution should now run in debug mode.
Build the solution, add a breakpoint to any of the resolvers (Header or Footer)
Refresh or visit the site – https://www.basic-company-aspnetcore.localhost/ and should be able to see the debugger-
Issues debuging or just building the solution-
Bad Gateway-
Solution- You may see the errors with command-
docker-compose logs -f rendering
Following log appears- binary is being used by another process. This is the issues with the dotnet watch with the docker
Solution- Restart the rendering container
This should bring up the site.
You can also watch the changes outside the docker. See here for more details-
This blog will give a quick overview of setting development environment for Headless Development with ASP.Net Rendering SDK using the Helix Examples and the docker.
Although there are videos and blogs around same I will do a quick walk through on setting Helix Examples and any errors I faced whilst setting up the environment.
Refer the following for same – https://github.com/Sitecore/Helix.Examples/tree/master/examples/helix-basic-aspnetcore
Install .Net Core 3.1
https://dotnet.microsoft.com/en-us/download/dotnet/3.1
Install .Net core 3.1 on your machine and this is required to create any rendering or platform projects later to extend the Helix Examples Solution or compiling the existing code.
Install Docker Desktop on Windows
https://docs.docker.com/desktop/windows/install/
Run this on Hyper-V mode and Switch to Windows Containers
Install Visual Studio Code and Visual Studio 2022 Community Edition
https://visualstudio.microsoft.com/vs/community/
https://code.visualstudio.com/download
Whilst installing Visual Studio 2022 select the .Net Framework project and templates option as the platform projects uses .Net Framework 4.8 version. This will also help further if you want to extend the solution.
Install and Configure Windows Terminal (optional)
https://docs.microsoft.com/en-us/windows/terminal/install
https://dev.to/shahinalam02/customize-your-terminal-using-oh-my-posh-theme-38if
Install Windows Terminal, refer above link and if you fancy applying the themes, although this is optional.
Install git
https://git-scm.com/download/win
Clone Helix Examples Solution
https://github.com/Sitecore/Helix.Examples
https://github.com/Sitecore/Helix.Examples.git
Initialise the config
Navigate to \examples\helix-basic-aspnetcore and run following-
.\init.ps1 -LicenseXmlPath C:\<<path to license>>\license.xml -SitecoreAdminPassword "b"
This should initalise teh .env file and fill in the values of the variables for License and Admin Password. Also it will populate other variables.
Build Images
Once the config are initialised run folowing command-
up.ps1
Once all the images are downloaded and built along with solution login to CM should will be asked.
Login to the CM and Allow access to Sitecore API and Offline Access
Once this done the CD and CM app should be ready along with the data been synched.
Check the logs for any errors in rendering with following command-
docker-compose logs -f rendering
Access Application
Site can be accessed with the following url –
Sitecore Content Management: https://cm.basic-company-aspnetcore.localhost/sitecore/
Sitecore Identity Server: https://id.basic-company-aspnetcore.localhost
Basic Company site: https://www.basic-company-aspnetcore.localhost
Use following to stop/remove containers-
docker compose down
Issues while building the images–
Error response from daemon: Unrecognised volume spec: file ‘\\.\pipe\docker_engine’ cannot be mapped. Only directories can be mapped on this platform
Solution-
Disable Docker Compose V2 using command or in Docker Desktop-
docker-compose disable-v2
or Uncheck the “Use Docker Compose V2” option
At time when the Ganache tool is re-opened all the Transactions and Constracts are reset. Whilst deploying contract you might see the error –
ContractNotFound: No contract deployed at {address}
PS C:\Projects\Blockchain\Solidity\brownie_fundme> brownie run .\scripts\deploy.py --network ganache-local
INFO: Could not find files for the given pattern(s).
Brownie v1.19.0 - Python development framework for Ethereum
BrownieFundmeProject is the active project.
File "C:\Users\sandeep\.local\pipx\venvs\eth-brownie\lib\site-packages\brownie\_cli\__main__.py", line 64, in main
importlib.import_module(f"brownie._cli.{cmd}").main()
File "C:\Users\sandeep\.local\pipx\venvs\eth-brownie\lib\site-packages\brownie\_cli\run.py", line 45, in main
network.connect(CONFIG.argv["network"])
File "C:\Users\sandeep\.local\pipx\venvs\eth-brownie\lib\site-packages\brownie\network\main.py", line 55, in connect
p._load_deployments()
File "C:\Users\sandeep\.local\pipx\venvs\eth-brownie\lib\site-packages\brownie\project\main.py", line 370, in _load_deployments
contract = ProjectContract(self, build, build_json.stem)
File "C:\Users\sandeep\.local\pipx\venvs\eth-brownie\lib\site-packages\brownie\network\contract.py", line 1305, in __init__
_DeployedContractBase.__init__(self, address, owner, tx)
File "C:\Users\sandeep\.local\pipx\venvs\eth-brownie\lib\site-packages\brownie\network\contract.py", line 708, in __init__
raise ContractNotFound(f"No contract deployed at {address}")
ContractNotFound: No contract deployed at 0x7465E5ca8aFeFba39eFD83bd056ACAafa3d16646
Solution-
Delete all the files and folders in Deployment folder as closing the Ganache tool will reset contracts etc. the deployment folder has references to old contract.
Reference-
https://stackoverflow.com/questions/68460396/contractnotfound-no-contract-deployed-at