2

チームが使用するカスタム vagrant ボックスを作成しようとしています。このボックスは、ベースのCentOS-x64-6.4-virtualbox-guest-additions-and-chefボックスに基づいています。vagrant upVM に多数のソフトウェアをインストールしました。ソフトウェアを配置したら、カスタムの Vagrantfile を作成し、ボックスをパッケージ化しvagrant package --output "my-custom-centos.box" --vagrantfile Vagrantfileて使用できるようにしました。

残念ながら、共有ボックスをプルダウンすると/vagrant、ボックス上で現在の作業ディレクトリにマップされているデフォルトの共有ディレクトリが機能しないことがわかりました (フォルダは空です)。さらに、カスタム作業ディレクトリを追加しても効果はありません。カスタム vagrant box を最適にパッケージ化するための適切なリソースを見つけることができないようで、共有ディレクトリが機能しないようなものは見たことがありません。どんな助けでも大歓迎です。

4

2 に答える 2

0

私は一度箱をパッケージ化しようとしましたが、あらゆる種類の問題に遭遇しました...あなたが抱えている正確な問題を推測するのは少し難しいですが、私の経験では、Vagrantは少しうるさいかもしれません.

動作するベース ボックスをそのまま使用し、プロビジョニング スクリプト内にインストールする必要があるすべてのものを確実に含める方がよいことがわかりました。

開始する最も簡単な方法は、おそらくシェル プロビジョナーを使用することです。この場合、文字通り、既に実行しているコマンドと同じコマンドをすべて実行することができます。しかし、より堅牢な方法で物事を行いたい場合は、使用しているベースボックスに既に含まれているため、Chefをチェックする必要があります。

Chef を使用すると、繰り返し可能で拡張可能な方法で、必要なものすべてをボックスにインストールできます。理解すれば、非常に強力です。

于 2013-06-06T10:06:57.020 に答える
0

パッケージ コマンドに追加--vagrantfile Vagrantfileすると、ボックスが使用していた Vagrantfile がパッケージに埋め込まれます。最も外側の Vagrantfile が他のファイルよりも優先されると思います。デフォルトの共有フォルダーは常に、ボックスをセットアップした場所 (Vagrantfile と .vagrant フォルダーがある場所) であり、新しい場所からボックスを起動するたびに変更されます。カスタム ボックスを作成するときは、Vagrantfile をパッケージから除外しますが、共有ファイルで問題が発生することはありません。うまくいけば、その一部が役立ちます。

于 2013-06-06T15:32:34.910 に答える