Starting Docker as Daemon on Ubuntu

UbuntuDocker

Ubuntu Problem Overview


Have been using Docker successfully for a few weeks but today when I was following a set of instructions which suggested adding the following two lines to the docker configuration file at /etc/init/docker.conf:

limit memlock unlimited unlimited
limit nofile 262144

It then suggested restarting Docker with sudo /etc/init.d/docker restart. When I did this under Ubuntu 14.04 it reported back that:

> * Docker is managed via upstart, try using service docker restart

I tried sudo service docker restart to which it reported:

> stop: Unknown job: docker > > start: Unknown job: docker

Now I'm stuck with the docker daemon not running! I tried rebooting but it's still not running and when run something as simple as sudo docker version I get:

Client version: 1.2.0
Client API version: 1.14
Go version (client): go1.3.1
Git commit (client): fa7b24f
OS/Arch (client): linux/amd64
2014/10/01 09:57:45 Get http:///var/run/docker.sock/v1.14/version: dial unix /var/run/docker.sock: no such file or directory

To troubleshoot I tried starting the docker daemon on the commandline with:

sudo docker -d

And in another terminal window I am now able to run Docker normally. That's great but HOW do I get it to startup normally again? Also I notice that I have TWO docker config files:

/etc/init/docker.conf
/etc/init/docker.io.conf

They look like DUPs. Are they redundant? Which one should I be looking at? Do I need both?

I also noticed that this duplicity shows up when I run sudo service --status-all |grep docker I get both docker and docker.io as listed services. Grown.

Ubuntu Solutions


Solution 1 - Ubuntu

There are multiple popular repositories offering docker packages for Ubuntu. The package docker.io is (most likely) from the Ubuntu repository. Another popular one is http://get.docker.io/ubuntu which offers a package lxc-docker (I am running the latter because it ships updates faster). Make sure only one package is installed. Not quite sure if removal of the packages cleans up properly. If sudo service docker restart still does not work, you may have to clean up manually in /etc/.

Solution 2 - Ubuntu

I had the same issue on 14.04 with docker 1.9.1.

The upstart service command did work when I used sudo, even though I was root:

$ whoami
root
$ service docker status
status: Unbekannter Auftrag: docker

$ sudo service docker status
docker start/running, process 7394

It seems to depend on the environment variables.

service docker status works when becoming root with su -, but not when only using su:

$ su
Password:
$ service docker status
status: unknown job: docker
$ exit
$ su -
Password:
$ service docker status
docker start/running, process 2342

Solution 3 - Ubuntu

This problem really cost me some hours.

My system is Ubuntu 14.04, I installed docker by sudo apt-get install docker, and typed some other commands that caused the problem.

  1. I google "unknown job: docker.io", answers did not take effect.

  2. I looked for reasons of "unknown job" in /etc/init.d/, found no proper answer .

  3. I looked for way to debug script in /etc/init.d/, found no proper answer.

  4. Then, I did a clean:

    1. sudo apt-get remove docker.io
    2. rm every suspicious file by find / -name "*docker*", such as /etc/init/docker.io.conf, /etc/init.d/docker.io .
  5. Follow the latest official document: https://docs.docker.com/installation/, there is a lot of outdated documentation which can be misleading.

Finally, it fixed the problem.

Note: If you are in China, because of the GFW, you may need to set the https_proxy to install docker from https://get.docker.com/ .

Solution 4 - Ubuntu

I know this questions has been answered, however the reason this is happening to you, was probably because you did not add your username to the docker group.

Here are the steps to do it:

Add the docker group if it doesn't already exist:

sudo groupadd docker

Add the connected user ${USER} to the docker group. Change the user name to match your preferred user:

sudo gpasswd -a ${USER} docker

Restart the Docker daemon:

sudo service docker restart

If you are on Ubuntu 14.04-15.10* use docker.io instead:

sudo service docker.io restart

(If you are on Ubuntu 16.04 the service is named "docker" simply)

Either do a newgrp docker or log out/in to activate the changes to groups.

Solution 5 - Ubuntu

I had a same issue on ubuntu 14.04 Here is a solution

sudo service docker start

or you can list images

docker images

Solution 6 - Ubuntu

I had the same problem, and it was caused by line for insecured registry in: /etc/default/docker

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionkenView Question on Stackoverflow
Solution 1 - UbuntuAndreas SteffanView Answer on Stackoverflow
Solution 2 - UbuntucweiskeView Answer on Stackoverflow
Solution 3 - UbuntusecfreeView Answer on Stackoverflow
Solution 4 - UbuntutsukanomonView Answer on Stackoverflow
Solution 5 - UbuntuChetan kapoorView Answer on Stackoverflow
Solution 6 - UbuntuzhristView Answer on Stackoverflow