web-dev-qa-db-ja.com

Vagrantは、指定されたポートをこのVM

ワンボックスプロファイルにVagrantを使用しています。 Vagrantを別のボックス(b2)に使用したいのですが、bioiqのインスタンスは転送されたポート2222(実際には)を消費していると表示されます。

ここで、b2を以下で構成すると、Vagrantはまだ2222を使用しようとします。

Vagrant.configure("2") do |config|

  config.vm.box = 'precise32'
  config.vm.box_url = 'http://files.vagrantup.com/precise32.box'

  config.vm.network :forwarded_port, guest: 22, Host: 2323

  # Neither of these fix my problem 
  # config.vm.network :private_network, type: :dhcp 
  # config.vm.network :private_network, ip: "10.0.0.200"
end

私は他のSO質問から:forwarded_porthere および here を参照してください。) Googleグループの投稿 も試してみました。

Vagrant cannot forward the specified ports on this VM, since they
would collide with some other application that is already listening
on these ports. The forwarded port to 2222 is already in use
on the Host machine.

To fix this, modify your current projects Vagrantfile to use another
port. Example, where '1234' would be replaced by a unique Host port:

  config.vm.network :forwarded_port, guest: 22, Host: 1234

Sometimes, Vagrant will attempt to auto-correct this for you. In this
case, Vagrant was unable to. This is usually because the guest machine
is in a state which doesn't allow modifying port forwarding.

Vagrantが一貫して私の指示を無視する理由がわかりません。投稿された構成は機能しません。誰もこれを克服していますか?

32
Nutritioustim

Sshポートの場合、Vagrantはポート衝突を自動的に解決します。

==> ubuntu64: Fixed port collision for 22 => 2222. Now on port 2200.

ただし、次の方法で回避できない衝突を作成できます。

  1. 最初のvagrant envを作成します(sshのポート2222を取得します)
  2. そのenvを一時停止します(vagrant suspend
  3. 2番目のvagrant envを作成します(現在使用されていないため、再びポート2222を取得します)
  4. vagrant upで最初の環境を再起動してください

現在取得しているエラーメッセージが表示されます。

解決策は、vagrant reloadを使用して、Vagrantが仮想マシンの状態を破棄するようにすることです(つまり、ハードシャットダウンされます。保存されていない作業がある場合は注意してください)。途中でポートが衝突する。

78
m1keil

Mac OSX(10.9.4)とVirtualBox(4.3.14)の現在のバージョンで、デフォルトのsshポート2222が使用されず、vagrant upによってバインドされていないという問題に遭遇しました。健全性チェックssh接続が無期限にタイムアウトする原因になっていました。

これはまったく同じ問題ではありませんが、明示的な転送により解決されました。

config.vm.network :forwarded_port, guest: 22, Host: 2201, id: "ssh", auto_correct: true

この提案は、Vagrant GitHub issue 174 に関するコメントから来ています。

22に転送されたポートが検出されているのか、IDが使用されているのかは明確ではありませんが、私にとっては機能しています。

15
botimer