我安装了 boot2docker 并运行:
./boot2docker start
export DOCKER_HOST=tcp://localhost:4243
我从 Docker 网站开始看教程。
我不明白一件事-当我跑步时:
sudo docker info
==>
Get http:///var/run/docker.sock/v1.11/info: dial unix /var/run/docker.sock: no such file or directory
但是当我没有使用它时sudo
它可以工作:
MacCris:bin cristianc$ docker info
Containers: 2
Images: 10
Storage Driver: aufs
Root Dir: /mnt/sda1/var/lib/docker/aufs
Dirs: 14
Execution Driver: native-0.2
Kernel Version: 3.14.1-tinycore64
Debug mode (server): true
Debug mode (client): false
知道为什么按照教程使用 sudo 运行不起作用吗(至少对我来说)?
答案1
环境DOCKER_HOST
变量未设置。您可以通过以下方式确认:
> env
然后以 sudo 身份:
> sudo env
如果没有DOCKER_HOST
设置该变量,docker 就无法连接到守护进程。
答案2
尝试:
sudo DOCKER_HOST=$DOCKER_HOST docker run
这样,所需的环境变量将可用sudo
。
答案3
如果您希望DOCKER_HOST
在使用 sudo 运行 docker 命令时配置文件中的变量可用,则可以将以下行添加到sudoers
文件。使用以下命令打开:
sudo visudo
添加:
Defaults env_keep += "DOCKER_HOST"
答案4
设置环境变量对我有用DOCKER_HOST
。tcp://192.168.59.103:2375
最快的方法是在命令行中运行此命令(对于 OSX/Unix/Linux 机器):
export DOCKER_HOST=tcp://192.168.59.103:2375