目前,我正在尝试完成一个Vagrantfile文件,以供其他运行坞提供程序(https://www.vagrantup.com/docs/docker/)的Vagrantfile用作对接主机。
我正在使用centos/atomic-host作为一个基本框。问题是,当我运行vagrant up时,我得到:
Vagrant执行的Docker命令没有成功完成!下面显示了与该命令的输出一起运行的命令。 命令:"docker“"ps”"-a“"-q”-no-trunc“ 无法连接到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我仍然得到以上的例外,当我第一次运行流浪,但它的工作从第二次开始。我怀疑的原因是,在将流浪者用户添加到坞组之后,我需要注销/登录以使更改生效。
为了记录在案,我尝试在我的newgrp docker脚本的末尾添加$docker_group,但是它并没有解决这个问题。我怀疑码头供应商会启动一个单独的会话。
有人找到解决办法了吗?
发布于 2017-03-09 06:15:03
我不知道Vagrantfile,但我从您的问题中了解到,您需要一些方法来刷新用户的组,而不必重新登录。
如果是这样的话,以下几点可能对你有帮助:
我不认为你提到的问题是关于Vagrantfile文件,它只是它的方式。要更新用户的配置,您需要与用户重新登录。尽管如此,如果你想找到一种方法,上述两种方法可能会帮助你。
https://stackoverflow.com/questions/42667613
复制相似问题