Docker Fails to Start on Reboot

For the last couple of weeks I've been working with Windows containers using Docker. I ran into a severe problem with the networking. I created a transparent network on the host and rebooted. After reboot, the docker service wouldn't start and had the following error in the event logs:         


        Log Name: Application
        Source: docker
        Event ID: 4
        Task Category: None
        Level: Error
        Error starting daemon: Error initializing network controller: error obtaining controller instance:             failed to get endpoints from store: failed to decode endpoint IPv4 address () after json unmarshal:         invalid CIDR address:

My first fix for this issue was to delete the following file:

·         C:\ProgramData\docker\network\files\local-kv.db

After this file was deleted, I was able to start the Docker service and it stayed running. That file was recreated when the docker service started and I was able to run docker commands.

 
Running docker network ls showed me that a transparent network I had created just before the restart was broken. That network was renamed a long random string. At this point, I could delete the randomly named transparent network, but a new one came back after each restart of either the Docker service or the host.

The final fix to stop that recurrence was running:

 .\WindowsContainerNetworking-LoggingAndCleanupAide.ps1 -Cleanup -ForceDeleteAllSwitches


That script is provided by Microsoft on GitHub here:

·         https://github.com/MicrosoftDocs/Virtualization-Documentation/tree/live/windows-server-container-tools/CleanupContainerHostNetworking

It's also worth noting that others are also having this issue:

·         https://github.com/docker/for-win/issues/806

Post a Comment

0 Comments