以 sudo 身份运行 docker

以 sudo 身份运行 docker

我安装了 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_HOSTtcp://192.168.59.103:2375

最快的方法是在命令行中运行此命令(对于 OSX/Unix/Linux 机器):

export DOCKER_HOST=tcp://192.168.59.103:2375

相关内容