当我把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
我怎么解决这个问题?
如果你得到消息无法连接到docker守护进程。这个主机上正在运行docker -d吗?,你可以通过docker版本来检查。
如果你看到Docker Client is running。但是Docker服务器不是,很明显你需要启动Docker服务器。
在CentOS中,您可以使用service来启动或停止Docker服务器。
$ sudo service docker stop
$ sudo service docker start
然后输入docker version,就会得到docker Client和docker Server的信息,说明docker守护进程已经启动。
要修复此问题,您需要在终端中发出以下命令。我将解释每一步:
# 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 Machine:)
运行docker-machine env default就可以了。
因为根据文档:
Docker Machine is a tool that lets you install Docker Engine on
virtual hosts, and manage the hosts with docker-machine commands. You
can use Machine to create Docker hosts on your local Mac or Windows
box, on your company network, in your data center, or on cloud
providers like AWS or Digital Ocean.
Using docker-machine commands, you can start, inspect, stop, and
restart a managed host, upgrade the Docker client and daemon, and
configure a Docker client to talk to your host.
Point the Machine CLI at a running, managed host, and you can run
docker commands directly on that host. For example, run
docker-machine env default to point to a host called default, follow on-screen
instructions to complete env setup, and run docker ps,
docker run hello-world, and so forth.
https://docs.docker.com/machine/overview/
使用Docker CE应用程序
操作系统
使用新的Docker社区版macOS应用程序。例如:
卸载到目前为止安装的所有Docker Homebrew包:
酿造卸载docker-compose
酿造卸载docker-machine
Brew卸载docker
手动或通过Homebrew-Cask安装应用程序:
酿造安装-桶docker
注意:这个应用程序将创建必要的链接到docker, docker-compose, docker-machine等。
运行应用程序后,在状态菜单中签出Docker鲸鱼图标。
现在你应该能够像往常一样在终端中使用docker、docker-compose、docker-machine命令。
相关:
Brew安装docker不包括docker引擎?
无法连接到macOS上的Docker守护进程
Linux / Windows
从下载页面下载Docker CE,并按照说明进行操作。