当我把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 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/
如果你在OS X上运行Docker,运行下面的eval对我来说是有效的。
eval "$(docker-machine env default)"
如果你不想在每个终端会话上都运行这个eval语句,你可以在bash_profile中添加:
#Docker
eval "$(docker-machine env default)"
确保重新启动终端会话或在bash_profile上运行source以使更改生效。
我的问题是,docker的默认路径。Sock不在docker daemon所在的位置。
我的默认地址是/home/user/。Docker,但是Docker守护进程在/var/bin中。
我确实设置了env变量来设置正确的地址,这解决了问题
export DOCKER_CONFIG = '/var/bin'
https://docs.docker.com/engine/reference/commandline/cli/
我在ubuntu上安装了docker desktop,所以这可能是问题所在,或者为什么我的DOCKER_CONFIG设置不正确。