当我把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
我怎么解决这个问题?
Linux
Linux安装后步骤文档揭示了以下步骤:
创建docker组。
Sudo groupadd docker
将用户添加到docker组。
sudo usermod -aG docker $(whoami)
退出并重新登录以确保docker以正确的权限运行。
码头工人开始。
Sudo服务docker启动
Mac OS X
正如Dayel Ostraco所说,有必要添加环境变量:
docker-machine start # Start virtual machine for docker
docker-machine env # It's helps to get environment variables
eval "$(docker-machine env default)" # Set environment variables
docker-machine start命令输出注释来指导这个过程。
如果你在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设置不正确。