12

Vagrant VM で作業し、いくつかの変更を行った後、vagrant suspend を使用して VM を一時停止します。次に、ホスト コンピューターを再起動して vagrant resume を実行しようとすると、ターミナルがしばらく停止し、フィードバックなしでコマンド プロンプトに戻ります。したがって、当然、vagrant ssh を試すと、次のメッセージが表示されます。

SSH 接続を開くには、VM が実行されている必要があります。を実行vagrant upして仮想マシンを起動します。

vagrant up を実行すると、サスペンド前に行ったすべての変更がベース ボックスのインポートによって上書きされていることがわかります。

これは意図した動作ですか? 私はWindows 8 pro x64で鼻水です。

4

4 に答える 4

6

vagrant の考え方は、ベース ボックスを使用してから、プロビジョニング方法でカスタマイズすることです。したがって、常にvagrant destroy(VMのすべてのデータを削除して)vagrant upベースボックスに基づいてボックスを再度構築すると、機能するはずです。

とにかく、vagrant destroyデータがまだそこにあるはずです。

これvagrant suspendは、ボックスの状態が Virtual Box によって凍結されていることを意味します。

次に、次のことを行う必要がありますvagrant resume: http://docs.vagrantup.com/v2/cli/resume.html

ただしvagrant up、その間に行った場合、データが失われる可能性があります。VirtualBox GUI を開いて、まだ保存されているスナップショットがあるかどうかを確認できます。

于 2013-07-17T13:53:27.530 に答える
4

これは時々私に起こります。再起動すると、浮浪者のマシンの痕跡はもうありません。実行してもvboxmanage list vmsVM は表示されませんが、コンピューターを再起動し、今回は試行する前に Virtualbox GUI を開きますvboxmanage list vms(または、前回の試行で失敗した方法によっては、最初に開かないでください)。 Vagrant マシンとその ID。

この ID を使用して、.vagrant/machines/default/virtualbox/ に移動し、「id」という名前のファイルを作成して、vagrant マシンの ID を含む 1 行を追加します。その後、vagrant up--no-provision を追加するのがおそらく最も安全ですが、マシンが既に存在しているにもかかわらずプロビジョニングが開始されたので、それを開始できます..

于 2015-01-26T12:41:15.827 に答える
2

使用する VM ごとにプロジェクト ディレクトリを作成することをお勧めします。実行する前にその空のプロジェクト ディレクトリに変更すると、そのプロジェクト/VM 用vagrant initに専用Vagrantfileが作成され、必要に応じてカスタマイズできます。カスタマイズしたものを使用するには、プロジェクト ディレクトリ内からVagrantfile実行するだけです。vagrant upこれで問題が解決するかどうかはわかりませんが、試してみる価値はあると思います。;-)

ところで。コマンドで VM が実行されているかどうかを確認できますvagrant status [machine-name]

于 2013-07-15T12:13:02.060 に答える