当我把Docker版本更新到0.8.0后,我在输入sudo Docker version时得到了一个错误消息:

Client version: 0.8.0
Go version (client): go1.2
Git commit (client): cc3a8c8
2014/02/19 12:54:16 Can't connect to docker daemon. Is 'docker -d' running on this host?

我按照说明,输入命令sudo docker -d,我得到了这个:

[/var/lib/docker|2462000b] +job initserver()
[/var/lib/docker|2462000b.initserver()] Creating server
open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory[/var/lib/docker|2462000b] -job initserver() = ERR (1)
2014/02/19 12:55:57 initserver: open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory

我怎么解决这个问题?


当前回答

我也有类似的问题。我不得不注销并再次登录到shell,因为我刚刚安装了Docker,下面的命令在我的环境中没有显示。

export DOCKER_HOST=127.0.0.1:4243 >> ~/.bashrc

其他回答

为了解决这个问题,我必须启用docker服务:

sudo systemctl enable /usr/lib/systemd/system/docker.service

当您不在docker组中时,通常会发生这种情况。您可以通过以下方式将自己添加到docker组:

sudo usermod -aG docker yourusername

or

sudo usermod -aG docker $(whoami)

在此之后,您需要注销并重新登录到服务器。

或者,您可以sudo每个Docker命令。

运行守护进程的命令如下:

sudo nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock &

脚本让守护进程在后台运行,在Docker准备就绪后,您可以测试它是否接受命令。

sudo docker info

更多信息请看这个: https://www.upcloud.com/support/how-to-configure-docker-swarm/

要修复此问题,您需要在终端中发出以下命令。我将解释每一步:

# Uninstall Docker from apt packages
$ sudo apt-get remove docker docker.io

# Remove it from the libraries just to be
# sure it's gone forever
$ sudo rm -rf /var/lib/docker/*

现在,如果你想简化事情并获得更多时间,你可以使用参数installDocker运行我的init脚本:

# Pull the init script from GitHub
$ wget https://github.com/dminca/dotfiles/blob/master/init

# Add rights to run the script
$ chmod 755 init

# Just run the script with the installDocker parameter
$ ./init installDocker

重新启动是可选的,但我建议您这样做,以确保一切正常运行。

当Docker与snap一起安装时,我有时会在重新启动我的机器时遇到OP错误。在我的情况下,运行sudo snap logs docker在日志中显示了一个错误:

启动守护进程时发现pid文件错误,确认docker未运行或删除/var/snap/docker/423/run/docker.pid

执行sudo命令后,rm /var/snap/docker/423/run/docker. sh。我可以正常启动Docker。