%20VM%20%E9%96%93%E3%81%A7%20Avahi%20%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%82%92%E3%83%96%E3%83%AD%E3%83%BC%E3%83%89%E3%82%AD%E3%83%A3%E3%82%B9%E3%83%88%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
Vagrantfile を含むプロジェクトがあり、その Debian パッケージをすべてダウンロードするのに時間がかかります。初期プロビジョニングを高速化する簡単な方法は、 だけを含む別の Vagrant ベースのプロジェクトを作成することだと考えましたsquid-deb-proxy
。
Vagrantfile と、そのパッケージ (およびavahi-utils
) をインストールする簡単な bootstrap.sh を作成しました。ゲスト ポート 8000 をホスト ポート 8000 にマッピングしました。ホスト マシンから、また他の VM (ホスト アドレス 10.0.2.2:8000) からも telnet できることを確認しました。( avahi-browse -a
squid-deb-proxy VM で) 存在がブロードキャストされていることを確認しました。
残るは他のVM に zeroconf サービスのブロードキャストを表示させます。Zeroconf はポート 5353 を使用するようですが、ゲスト 5353 をホスト 5353 にマップすることはできません (ホストがすでに使用しています)。また、ゲスト 5353 を別のホストにマップすると、ブロードキャストが表示されません。
これまで「プライベート ネットワーク」を使用して複数の Vagrant プロジェクトを接続したことがありますが、他のすべてのプロジェクトが squid-deb-proxy VM について認識する必要があるため、ここではそれを行いたくありません。
ここで私がやりたいことを簡単に行う方法はありますか?
ありがとう!
答え1
おそらくDebianパッケージをキャッシュする最も簡単な方法は、浮浪者キャッシャープラグイン。
キャッシュプロキシを使用する場合は、他のVagrantゲストがそれを使用するように簡単に設定できます。vagrant-proxyconfプラグイン。設定をグローバルに追加すると、$HOME/.vagrant.d/Vagrantfile
個々の Vagrant プロジェクトを汚染する必要がなくなります。