从Vagrantfile中注销/login

我目前正在尝试通过运行docker提供程序( https://www.vagrantup.com/docs/docker/ )的其他VagrantFiles来完成Vagrantfile以用作泊坞窗主机。

我使用centos/atomic-host作为基础框。 问题是,当我跑上vagrant up我得到:

由Vagrant执行的Docker命令没有成功完成! 下面显示了与命令输出一起运行的命令。

命令:“docker”“ps”“-a”“-q”“–no-trunc”

Stderr:无法连接到Docker守护进程。 docker守护程序是否在这个主机上运行?

这是由于stream浪者不是docker组的一部分。 我通过将这添加到我的Vagrantfile来解决这个问题:

 # Add user vagrant to docker group $docker_group = <<-DOCKER_GROUP groupadd docker usermod -a -G docker vagrant systemctl restart docker DOCKER_GROUP config.vm.provision "docker_group", type: "shell", privileged: true, inline: $docker_group 

我第一次遇到stream浪汉的时候,仍然有例外,但是第二次起作用。 我怀疑的原因是,在将stream浪用户添加到docker组后,我需要注销/login以使更改生效。

为了logging,我尝试在我的$docker_group脚本的末尾添加newgrp docker $docker_group但是这并没有解决问题。 我怀疑docker提供商开始一个单独的会议。

有人find这个解决scheme?

我不知道Vagrantfile,但我从你的问题中了解到,你需要一些方法来刷新用户的组,而无需重新login。

如果是这样的话,以下几点可以帮助你:

  1. 为什么不能再次向用户求助:您可能只需再次login到用户,并且所有用户的组都将被更新。
  2. 或者你可以试试Legooolas提到的这种方法。

我几乎不认为你提到的问题是与Vagrantfile,它只是它的方式。 要更新用户的configuration,您需要重新与用户login。 不过,如果你想find一个方法,上述两个可能会帮助你。