首页 > 解决方案 > 为什么在没有 sudo 的情况下运行时清空 'docker-machine ls' 输出,而 'sudo docker-machine ls' 有效?

问题描述

我已将我的用户添加到 docker 组,并且 docker 和 docker-compose 命令工作正常,但也显示空列表并与 sudo 一起使用。我的docker psdocker-machine 命令有问题,这导致我不能也不能也不行。eval $(docker-machine env mymachine)eval $(sudo docker-machine env coding-platform-dev)

当我编写一个 yml 文件时,它会转到 0.0.0.0 而不是在我的情况下分配给 docker-machine 的 ip192.168.99.100

标签: dockerdocker-composesudodocker-machine

解决方案


我弄清楚为什么会发生这种情况。当使用 来创建机器时docker-machine,所有关于创建机器的信息,包括它们的配置文件、SSH 密钥等,都存储在${HOME}/.docker/machine创建它们的用户下。

因此,如果一台机器是以 root 身份创建的,那么这些机器只能由 root 看到。 就没有负责管理机器的守护进程而言,它docker-machine不像它本身那样工作——只有一堆静态配置文件代表可用的机器。docker因此,即使您是docker系统上的组的一部分,这也与功能无关docker-machine


推荐阅读