Why Docker can't start or starting forever? - docker

I have installed docker on Windows 10, run it as administrator.
It's still in the process of launching (starting) after half an hour.
Log looks like:
Version: 17.07.0-ce-win26 (13125)
Channel: edge
Sha1: 7c2cb3783c478f82e7a09cfbd5933d7b587c9c1e
Started on: 2017/09/06 09:17:16.119
Resources: C:\Program Files\Docker\Docker\Resources
OS: Windows 10 Pro
Edition: Professional
Id: 1607
Build: 14393
BuildLabName: 14393.1593.amd64fre.rs1_release.170731-1934
...
[09:18:19.619][DockerDaemonChecker][Error ] Docker daemon is not running
[09:18:19.658][NamedPipeServer][Error ] Unable to execute Start: error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.31/containers/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
в Docker.Backend.DockerDaemonChecker.Check(Func`1 isDaemonProcessStillRunning) в C:\gopath\src\github.com\docker\pinata\win\src\Docker.Backend\DockerDaemonChecker.cs:line 63
в Docker.Core.Pipe.NamedPipeServer.<>c__DisplayClass9_0.<Register>b__0(Object[] parameters) в C:\gopath\src\github.com\docker\pinata\win\src\Docker.Core\pipe\NamedPipeServer.cs:line 47
в Docker.Core.Pipe.NamedPipeServer.RunAction(String action, Object[] parameters) в C:\gopath\src\github.com\docker\pinata\win\src\Docker.Core\pipe\NamedPipeServer.cs:line 145
[09:18:19.674][NamedPipeClient][Error ] Unable to send Start: error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.31/containers/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
[09:18:19.674][Notifications ][Error ] error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.31/containers/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
[09:18:19.705][CrashReport ][Info ] Preparing package to send with the diagnostics
I am trying to reboot, shut down PC, virtualization is enable in bios.
Could you give me some advise to solve the problem?

I had a similar problem some weeks ago with a new user of our systems.
In my case i forgot to add the user to the docker-users group.
Further problems/solutions that i already had:
not enough memory, docker consumes some of it
Crashed containers
Firewall or other tools that block even local TCP access
Bad docker config in %ProgramData%\Docker\config\daemon.json, you could for example try to set it to an empty json file ({})

Related

Docker Desktop(for Apple chip) not working on Apple M1 Max chip

As I try to launch it, it stacks at starting state, and nothing happens. Reinstalling and installing prev. versions(4.4, 4.5) don't do the trick it is still stacking on starting...
After diagnose check:
/Applications/Docker.app/Contents/MacOS/com.docker.diagnose check
and here are fails
[FAIL] DD0031: does the Docker API work? Cannot connect to the Docker daemon at unix://docker.raw.sock. Is the docker daemon running?
[FAIL] DD0004: is the Docker engine running? Get "http://ipc/docker": dial unix lifecycle-server.sock: connect: no such file or directory
[FAIL] DD0011: are the LinuxKit services running? failed to ping VM diagnosticsd with error: Get "http://ipc/ping": dial unix diagnosticd.sock: connect: no such file or directory
[FAIL] DD0016: is the LinuxKit VM running? vm is not running: failed to open kmsg.log: open log/vm/kmsg.log: no such file or directory
[FAIL] DD0017: can a VM be started? vm has not started: failed to open kmsg.log: open log/vm/kmsg.log: no such file or directory
[FAIL] DD0003: is the Docker CLI working? exit status 1
[FAIL] DD0012: is the VM networking working? network checks failed: Post "http://ipc/check-network-connectivity": dial unix diagnosticd.sock: connect: no such file or directory
[FAIL] DD0032: do Docker networks overlap with host IPs? Cannot connect to the Docker daemon at unix://docker.raw.sock. Is the docker daemon running?
as a conclusion:
Please investigate the following 1 issue:
1 : The test: can a VM be started?
Failed with: vm has not started: failed to open kmsg.log: open log/vm/kmsg.log: no such file or directory
Reset to a factory defaults seems not taking effect.
Rebooting also useless.
Turns out it was because of turned on VPN on network settings. Answer found here

Docker Desktop closed unexpectedly

I installed Docker Engine and Docker Desktop following the advice in this post on a virtual machine of Ubuntu 22.04 LTS.
And for a simple test, the command sudo docker run hello-world returns Hello from Docker! so I believe Docker Engine is working correctly.
However, Docker Desktop is not working, and the system log /var/log/syslog keeps popping the below errors until "The application Docker Desktop has closed unexpectedly".
May 31 12:12:57 dockerub ubuntu-appindicators#ubuntu.com[3194]: Docker Desktop1, Impossible to lookup icon for 'Docker Desktop1_842-panel' in path /tmp/.org.chromium.Chromium.Mxd55e
May 31 12:12:57 dockerub ubuntu-appindicators#ubuntu.com[3194]: unable to update icon for Docker Desktop1
May 31 12:12:58 dockerub ubuntu-appindicators#ubuntu.com[3194]: Docker Desktop1, Impossible to lookup icon for 'Docker Desktop1_848-panel' in path /tmp/.org.chromium.Chromium.nNdyiR
May 31 12:12:58 dockerub ubuntu-appindicators#ubuntu.com[3194]: unable to update icon for Docker Desktop1
May 31 12:12:59 dockerub com.docker.backend[11585]: [2022-05-31T18:12:59.229343880Z][com.docker.backend][W] still waiting to update HTTP proxy on http-proxy-control.sock after 1m31.111144268s. Last error was Post "http://localhost/vm/httpproxy": dial unix <HOME>/.docker/desktop/http-proxy-control.sock: connect: no such file or directory
May 31 12:12:59 dockerub com.docker.backend[11585]: [2022-05-31T18:12:59.233717551Z][com.docker.backend][W] 5e9fe131-PauseHDL /pause/events server not replying: Get "http://ipc/pause/events": dial unix <HOME>/.docker/desktop/procd.sock: connect: no such file or directory
...
We will highly appreciate any suggestions or hints. For any more details, please let me know.

Docker wont launch on Windows 11

I'm going crazy; I have spent way too much time and would immensely appreciate any help.
Here's the problem:
When I launch Docker Desktop, the engine stays on Stopped, and never launches.
I'm on Windows 11
I've installed the WSL 2 backend (following these steps), noticed Hyper-V was not installed so I installed it
I've tried to uninstall and reinstall docker desktop
I've tried to launch docker desktop as admin
I've tried using: 'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon
I'm really stuck.
When I run self diagnose:
"C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe" check
I get this (trimmed a bit to comply to character limit):
[044:20:57:56.119][I] ipc.NewClient: e7c958f3-com.docker.diagnose -> \\.\pipe\dockerBackendV2 com.docker.service.exe
[goroutine 1 [running, locked to thread]:
[win/backend/pkg/service.NewClientForPath(...)
[ win/backend/pkg/service/service.go:42
[win/backend/pkg/service.NewClient({0x15cf112, 0x13}, {0x0, 0x0, 0x0})
[ win/backend/pkg/service/service.go:31 +0xd0
[common/pkg/diagkit/gather/diagnose.init()
[ common/pkg/diagkit/gather/diagnose/ipc_windows.go:23 +0x11f
Starting diagnostics
[PASS] DD0027: is there available disk space on the host?
[SKIP] DD0028: is there available VM disk space?
[FAIL] DD0031: does the Docker API work? error during connect: In the default daemon configuration on Windows, the docker client must be run with elevated privileges to connect.: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine_linux/v1.24/containers/json?limit=0": open //./pipe/docker_engine_linux: The system cannot find the file specified.
[FAIL] DD0004: is the Docker engine running? Get "http://ipc/docker": open \\.\pipe\dockerLifecycleServer: The system cannot find the file specified.
[044:20:57:56.176][I] ipc.NewClient: e90d0409-com.docker.diagnose -> \\.\pipe\dockerLifecycleServer VMDockerdAPI
[PASS] DD0016: is the LinuxKit VM running?
[PASS] DD0001: is the application running?
[PASS] DD0018: does the host support virtualization?
[PASS] DD0002: does the bootloader have virtualization enabled?
[PASS] DD0020: is the Hyper-V Windows Feature enabled?
[PASS] DD0017: can a VM be started?
[PASS] DD0015: are the binary symlinks installed?
error during connect: In the default daemon configuration on Windows, the docker client must be run with elevated privileges to connect.: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/json": open //./pipe/docker_engine: The system cannot find the file specified.
[FAIL] DD0003: is the Docker CLI working? exit status 1
[PASS] DD0013: is the $PATH ok?
[PASS] DD0005: is the user in the docker-users group?
[PASS] DD0007: is the backend responding?
[FAIL] DD0014: are the backend processes running? 3 errors occurred:
* vpnkit-bridge.exe is not running
* vpnkit.exe is not running
* com.docker.proxy.exe is not running
[PASS] DD0008: is the native API responding?
[FAIL] DD0009: is the vpnkit API responding? open \\.\pipe\dockerVpnKitDiagnostics: The system cannot find the file specified.
[FAIL] DD0010: is the Docker API proxy responding? failed to ping Docker proxy API with error: Get "http://ipc/desktop-diagnostics/ping": open \\.\pipe\dockerDesktopLinuxEngine: The system cannot find the file specified.
[044:20:58:05.735][I] ipc.NewClient: dcada6c0-diagnose -> \\.\pipe\dockerDesktopLinuxEngine Proxy
[044:20:58:14.888][I] (a6e3c814-3) 6b92eeae-diagnose-network C->S diagnosticsd GET /ping
[044:20:58:14.888][E] (a6e3c814-3) 6b92eeae-diagnose-network C<-S NoResponse GET /ping (0s): Get "http://ipc/ping": open \\.\pipe\dockerDiagnosticd: The system cannot find the file specified.
[044:20:58:16.899][I] (a6e3c814-5) 6b92eeae-diagnose-network C->S diagnosticsd GET /ping
[044:20:58:16.899][E] (a6e3c814-5) 6b92eeae-diagnose-network C<-S NoResponse GET /ping (0s): Get "http://ipc/ping": open \\.\pipe\dockerDiagnosticd: The system cannot find the file specified.
[FAIL] DD0032: do Docker networks overlap with host IPs? error during connect: In the default daemon configuration on Windows, the docker client must be run with elevated privileges to connect.: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine_linux/v1.24/networks": open //./pipe/docker_engine_linux: The system cannot find the file specified.
[SKIP] DD0030: is the image access management authorized?
[PASS] DD0033: does the host have Internet access?
Please investigate the following 3 issues:
1 : The test: are the LinuxKit services running?
Failed with: failed to ping VM diagnosticsd with error: Get "http://ipc/ping": open \\.\pipe\dockerDiagnosticd: The system cannot find the file specified.
The Docker engine runs inside a Linux VM as a service. Therefore the services must have started.
2 : The test: are the backend processes running?
Failed with: 3 errors occurred:
* vpnkit-bridge.exe is not running
* vpnkit.exe is not running
* com.docker.proxy.exe is not running
Not all of the backend processes are running.
3 : The test: is the VM networking working?
Failed with: network checks failed: Post "http://ipc/check-network-connectivity": open \\.\pipe\dockerDiagnosticd: The system cannot find the file specified.
VM seems to have a network connectivity issue. Please check your host firewall and anti-virus settings in case they are blocking the VM.
I've authorized Docker Desktop through the firewall, but it didn't change anything. I'd be so grateful for any help!
I payed Docker Pro subscription to contact the support and got this answer that SOLVED it ! Pfiew I had really tried everything, couldn't have guessed that.
The answer :
Hi,
We have identified an issue in Docker Desktop 4.5.0 where the default backend selected after installing is not the correct one.
We will release a Docker Desktop 4.5.1 shortly to address this, in the meanwhile you can switch to the correct backend by editing the following file:
%APPDATA%\Docker\settings.json and at the bottom change the value for the wslEngineEnabled field to true.
After that Docker Desktop should start correctly.
Sorry for the inconvenience
And it worked !!

Can I run k8s master INSIDE a docker container? Getting errors about k8s looking for host's kernel details

In a docker container I want to run k8s.
When I run kubeadm join ... or kubeadm init commands I see sometimes errors like
\"modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could
not open moddep file
'/lib/modules/3.10.0-1062.1.2.el7.x86_64/modules.dep.bin'.
nmodprobe:
FATAL: Module configs not found in directory
/lib/modules/3.10.0-1062.1.2.el7.x86_64",
err: exit status 1
because (I think) my container does not have the expected kernel header files.
I realise that the container reports its kernel based on the host that is running the container; and looking at k8s code I see
// getKernelConfigReader search kernel config file in a predefined list. Once the kernel config
// file is found it will read the configurations into a byte buffer and return. If the kernel
// config file is not found, it will try to load kernel config module and retry again.
func (k *KernelValidator) getKernelConfigReader() (io.Reader, error) {
possibePaths := []string{
"/proc/config.gz",
"/boot/config-" + k.kernelRelease,
"/usr/src/linux-" + k.kernelRelease + "/.config",
"/usr/src/linux/.config",
}
so I am bit confused what is simplest way to run k8s inside a container such that it consistently past this getting the kernel info.
I note that running docker run -it solita/centos-systemd:7 /bin/bash on a macOS host I see :
# uname -r
4.9.184-linuxkit
# ls -l /proc/config.gz
-r--r--r-- 1 root root 23834 Nov 20 16:40 /proc/config.gz
but running exact same on a Ubuntu VM I see :
# uname -r
4.4.0-142-generic
# ls -l /proc/config.gz
ls: cannot access /proc/config.gz
[Weirdly I don't see this FATAL: Module configs not found in directory error every time, but I guess that is a separate question!]
UPDATE 22/November/2019. I see now that k8s DOES run okay in a container. Real problem was weird/misleading logs. I have added an answer to clarify.
I do not believe that is possible given the nature of containers.
You should instead test your app in a docker container then deploy that image to k8s either in the cloud or locally using minikube.
Another solution is to run it under kind which uses docker driver instead of VirtualBox
https://kind.sigs.k8s.io/docs/user/quick-start/
It seems the FATAL error part was a bit misleading.
It was badly formatted by my test environment (all on one line.
When k8s was failing I saw the FATAL and assumed (incorrectly) that was root cause.
When I format the logs nicely I see ...
kubeadm join 172.17.0.2:6443 --token 21e8ab.1e1666a25fd37338 --discovery-token-unsafe-skip-ca-verification --experimental-control-plane --ignore-preflight-errors=all --node-name 172.17.0.3
[preflight] Running pre-flight checks
[WARNING FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables does not exist
[preflight] The system verification failed. Printing the output from the verification:
KERNEL_VERSION: 4.4.0-142-generic
DOCKER_VERSION: 18.09.3
OS: Linux
CGROUPS_CPU: enabled
CGROUPS_CPUACCT: enabled
CGROUPS_CPUSET: enabled
CGROUPS_DEVICES: enabled
CGROUPS_FREEZER: enabled
CGROUPS_MEMORY: enabled
[WARNING SystemVerification]: this Docker version is not on the list of validated versions: 18.09.3. Latest validated version: 18.06
[WARNING SystemVerification]: failed to parse kernel config: unable to load kernel module: "configs", output: "modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.4.0-142-generic/modules.dep.bin'\nmodprobe: FATAL: Module configs not found in directory /lib/modules/4.4.0-142-generic\n", err: exit status 1
[discovery] Trying to connect to API Server "172.17.0.2:6443"
[discovery] Created cluster-info discovery client, requesting info from "https://172.17.0.2:6443"
[discovery] Failed to request cluster info, will try again: [the server was unable to return a response in the time allotted, but may still be processing the request (get configmaps cluster-info)]
There are other errors later, which I originally though were a side-effect of the nasty looking FATAL error e.g. .... "[util/etcd] Attempt timed out"]} but I now think root cause is Etcd part times out sometimes.
Adding this answer in case someone else puzzled like I was.

ERRO[0044] failed to dial gRPC: cannot connect to the Docker daemon

I'm using Windows 10 Home and I got this error when connecting to docker:
ERRO[0044] failed to dial gRPC: cannot connect to the Docker daemon. Is 'docker daemon' running on this host?: dial tcp 192.168.99.101:2376: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
context canceled
Can anybody help? I have seen solutions for Linux and OS, but not for windows
I also use Window 10 Home edition,
On windows, run cmd in adminstrator mode
and run the folowing lines of code
docker-machine start
docker-machine.exe env --shell cmd > e:\servers\docker\setenv.bat
call e:\servers\docker\setenv.bat
del e:\servers\docker\setenv.bat
Continue in the same CMD instance to run your docker client commands
Dont forget to change docker folder path based on your environments.
Adding my answer from ERRO[0043] failed to dial gRPC: unable to upgrade to h2c, received 501:
Following one of the comments in https://github.com/docker-library/docker/issues/71, I enabled Experimental features in Settings->Daemon and the problem went away. I have no idea how or why it fixed it and another commenter there says they fixed it by disabling Experimental features.

Resources