2017-03-08 27 views
0

我目前正在嘗試完成一個Vagrantfile,作爲運行碼頭提供商(https://www.vagrantup.com/docs/docker/)的其他Vagrantfiles用作碼頭主機。註銷/從內部登錄Vagrantfile

我正在使用centos/atomic-host作爲基準盒。問題是,當我運行vagrant up時,得到:

由Vagrant執行的Docker命令沒有成功完成! 下面顯示了命令的輸出以及命令的輸出 。

命令: 「泊塢窗」, 「PS」, 「-a」, 「-q」 「--no-TRUNC」

標準錯誤:無法連接到泊塢守護進程。碼頭守護程序是否在該主機上運行?

這是由於流浪的用戶不是碼頭組的一部分。我解決這個問題,加入這個我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 

我仍然得到我第一次跑了漂泊不定以上異常,但它從第二次開始工作。我懷疑的原因是,在將流浪用戶添加到碼頭組後,我需要註銷/登錄才能使更改生效。

爲了記錄,我嘗試在我的$docker_group腳本末尾添加newgrp docker,但它不能解決問題。我懷疑碼頭服務提供商開始一個單獨的會議。

有人找到了解決方案嗎?

+0

當docker守護進程沒有運行時,通常會收到錯誤。您是否檢查了docker是否正在運行? – 2017-03-08 10:01:22

+0

正如我所說的,我懷疑問題是,在將泊車用戶添加到碼頭組後,我們需要註銷/登錄才能使更改生效。 – soltzu

回答

0

我不知道Vagrantfile,但我從你的問題中瞭解到,你需要某種方式來刷新用戶的組,而無需重新登錄。

如果是這樣的話,以下幾點可以幫助你:

  1. 爲什麼不直接su到用戶再次:你可能只需登錄到該用戶再次,和所有的用戶羣將被更新。
  2. 或者您可以嘗試Legooolas提到的this方法。

我不認爲你提到的問題是與Vagrantfile,它只是它的方式。要更新用戶的配置,您需要與用戶重新登錄。不過,如果你想找到一種方法,上面兩個可能會幫助你。