Docker service failed to start application container engine on CentOS7 - docker

Running service docker start presents:
Job for docker.service failed. See 'systemctl status docker.service' and 'journalctl -xn' for details.
Both of those yield this error:
Failed to start Docker Application Container Engine.
I do not have internet access on this machine, and all the similar issues were resolved with a "yum reinstall docker" or "yum install device-mapper-event-libs" or "yum install docker-selinux". I've tried commenting out selinux under docker options but nothing changes.
What can I do? Should I download docker-selinux for my architecture and transfer it over and manually install?
Thanks for any help.
Edit: Adding some information, this is CentOS 7 Atomic Host & Docker version 1.71

In my case I tried to create a conf file, /etc/systemd/system/docker.service.d/hosts.conf with extra options but still didn't work. Finally, a reboot started docker service without any issues.
Hope this helps someone.

Related

Not able to start docker Desktop in Windows

I am not able to start the Docker container in Microsoft Windows 10 profession. As I found the cause of this error is due to the docker engine is failing to start.
After installing docker I am able to run only the docker version command.
-> docker --version
As I found the error which is showing docker daemon is not running in windows while running any other docker commands on CMD.
I also enabled (checked) the Hyper-V option in "Turn Windows features on or off" in the Control panel -> Programs -> Turn Windows features on or off.
The error is related to the daemon part:
In the default daemon configuration on Windows, the docker client must be run elevated to connect.
We can switch the Docker daemon as an elevated user in order to run the docker daemon in the Windows professional:
Run below command with Windows Powershell as administrator:
Run the PowerShell command: -
& 'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon
OR
You can run the below command on CMD as administrator:
Run the CMD command: -
"C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon
My Docker Desktop failed to start after I forced it to exit while updating (it stuck during the update that's why I had to do it). No solution on the Internet helped me until I ran into this Powershell command:
wsl -l -v
It listed the following:
* Ubuntu-18.04 Stopped 2
docker-desktop Uninstalling 2
docker-desktop-data Stopped 2
It kept saying "Uninstalling" even after rebooting the whole system.
What I did was:
wsl -t docker-desktop
It terminated docker-desktop and made the problem gone.
delete %appdata%\Docker\settings.json and let Docker to create a new one
You should check WSL:
Execute "wsl -l -v" at the command prompt.
If the result is like this:
Then execute "wsl --shutdown" on the command line.
Then execute "wsl -l -v", you will see:
Then start Docker Desktop.
This solved my problem.
Make sure to download the Linux Kernel Update Package and then try restarting Docker Desktop.
Download from here
Just share my experience how I solved the problem with "docker failed to start" or similar problem. I found some mess with my Win10 Home edition, despite the fact that all checkes regarding Hyper-v, wsl and others passed I got failed to start docker engine. So, I tried to install one of the old version (4.4.4), not the newest one. An voila it installed wsl2 and started without any problems!
Hope this could help someone who's tried all solutions (for example, deletion of the %appdata%\docker folders) :)
I was getting the same exact issue and a solution was provided from thread The attempted operation is not supported for the type of object referenced." error after Windows Update fixed my problem. I had tried everything before this solution. To keep it simple just follow the below steps -
Copy below snippet
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\AppId_Catalog\0408F7A3]
"AppFullPath"="C:\Windows\System32\wsl.exe"
"PermittedLspCategories"=dword:80000000
Save it as a file wsl.reg
Execute the file to update the wsl registry
restart docker desktop
these steps are basically done to do some changes in the registry of wsl distribution that is installed standalone or by docker.
Using PowerShell gave me a right direction. All restarts and re-install with deletion didn't work.
wsl -l -v showed list of three processes but wsl -t docker-desktop responded with "There is no distribution with the supplied name." only. wsl --shutdown either didn't work.
Solution is next door wsl --unregister docker-desktop . After this all went fine.
I ran the following command which resolved the issue for me.
wsl --unregister docker-desktop
Please make sure your OS type requires WSL or Hyper-V to run docker as per this official link ๐Ÿ‘‰ https://docs.docker.com/desktop/install/windows-install/
For my case, I am using Windows 11 Home OS, and it requires WSL (Windows Subsystem for Linux) to run docker. So that I installed WSL on my system.
Follow this link to install WSL ๐Ÿ‘‰ https://learn.microsoft.com/en-us/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package
After that restart your system, then open docker (It may take up to 10 secs to start)
Hope it may solve your issueโœŒ๏ธ

How to use SystemD for running a docker command before docker is stopped in Docker v.18.09.3

In my use-case, I want to backup a Docker volume using SystemD before docker-daemon is stopped.
I got a working version using Docker 17.03.2. The SystemD service is defined as follows:
[Unit]
Description=Backup some Docker volume
Requires=network-online.target docker.service
After=docker.service
[Service]
Type=oneshot
ExecStop=/bin/sh /var/dobackup.sh
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
The content of /var/dobackup.sh is not that important here. It includes a docker command, which uses a given Docker volume and does a tar on it.
It might be important, that I am running this in the Google cloud compute engine, in a container optimized OS. In special, in milestone 69 (, which includes Docker v17.03.2).
Updating to Docker v18.09.3
Now, I want to update to Docker v18.09.3 (in special, I am updating the running OS to Container Optimized OS milestone 73).
The service from above does not work any more. I get the following error, when my docker-command in /var/dobackup.sh is running:
docker: Error response from daemon: all SubConns are in
TransientFailure, latest connection error: connection error: desc =
"transport: Error while dialing dial
unix:///var/run/containerd/containerd.sock: timeout": unavailable.
The problem is obviously in ContainerD not being available any more. I tried
Requires=network-online.target containerd.service docker.service
without success.
How can I adapt my service to Docker v18.09?
Some users have reported similar issues with containerd.server in previous Docker versions (17.12 and 18.03). The workaround applied was:
killall -9 dockerd
sudo service docker restart
In this link is mentioned a similar error and how users sorted it out the problem after restarting docker service.
Likely this is caused by a containerd/docker integration issue fixed in cos-73-11647-192-0. Could you try it on cos-73-11647-192-0?

I cant start my docker in Linux mint

[myshell]# sudo dockerd
Error starting daemon: pid file found, ensure docker is not running or delete /var/run/docker.pid
In linux, I installed docker but daemon is not running.
the above given error is always generated.
Check If you already have the Docker Installed in it.
May be The Installation was not proper.
Check this Link
if you
cat /var/run/docker.pid
it is mostly likely you are already running it.
you can take a look at the official and proper way to launch your docker once it is installed
https://docs.docker.com/config/daemon/systemd/

Docker now giving an error after updating

After using Docker for almost two months, today I got the following error:
C:\Users\dell>docker --version
Docker version 17.06.0-ce, build 02c1d87
C:\Users\dell>docker ps -a
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.30/containers/json?all=1:
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.
Yes, the daemon is running, or at least it is shown as running under Services. I use it only with a local container and do not do anything remote.
Any suggestions on how this can be solved?
Well, I have had the same issue today and the only way for me to fix it was by reinstalling Docker (uninstall and install latest stable version)...
Now docker info runs OK and my solution builds again.
I hope it helps,
Juan
Note: it shouldn't have happened at all, I've lost at least one hour trying to figure out what and why it crashed...
Is Hyper-V running? You will get this error if Hyper-V closes down. Docker for Windows will still be "running", but the daemon will not work.

docker: Error response from daemon: grpc: the connection is unavailable

Anyone have any idea what's causing this error? Is it going to be something to do with my network settings?
(bit of a noob on networking front, please feel free to comment and point me in the right direction for relevant data)
Get it when trying to do:
any docker run commands
any docker build with package updates (e.g RUN apk update)
Specs:
Docker version 1.13.0, build 78d1802
openSUSE Tumbleweed 20170505
Testing issue
Tried running the following containers to no avail:
Redis:latest
alpine:latest
python:3.4.6
python:latest
hello-world
Edit:
Docker service running fine - systemctrl status docker returns:
docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2017-05-17 16:21:18 BST; 2 days ago
From docker inspect, containers are exiting with:
Exitcode 128
"Error": "grpc: the connection is unavailable"
Fixed!
Ran systemctl restart docker
No idea what the problem was...
For history: another possible reason is that on older versions docker containers fail to start due to corrupted events.log (/var/run/docker/libcontainerd/containerd/events.log), removing the file fixes the issue. See containerd#1699 for more details.
1. Activate debug mode in running daemon
{debug =true}
2. Reload the daemon configuration
basically, kill it, restart the docker.
systemctl restart docker
The error should be solved now permanently

Resources