Windows で Vagrant を使用する際の落とし穴

Windows で Vagrant を使用する際の落とし穴

この記事は、私が Windows で Vagrant を半年間使用し、突然 Mac に切り替えた後に書きました。色々な落とし穴に遭遇したので今日この記事を書きました。お役に立てれば幸いです。

発生した問題

以前、Vagrant の使い方に関する一連のチュートリアルを書きました。これらのチュートリアルを書いたとき、私は実際に Windows を使用していました。最近、Mac で使用する際にいくつか問題が発生しました。

今日私が最もお話ししたいのは、権限の問題です。

Windows にはファイル権限の概念がないため、ディレクトリを共有すると、共有ディレクトリにはデフォルトで 777 の権限が設定されます。

しかし、Mac を使用すると、共有ディレクトリの権限とユーザー グループが正しくありません。正常に使用できません。これにより、直接的な問題が生じます。

プロジェクト a は仮想マシンで実行され、ランタイム ディレクトリにログまたは一時ファイルを書き込む必要があります。つまり、読み取り権限と書き込み権限が必要です。

解決

当時はvagrangに直接sshして777権限を与えたのですが書き込みができませんでした。次に、ホスト上で 777 の権限を与えてファイルを書き込むことができましたが、次のファイルは権限を付けて書き込む必要がありました。

その後、Google や Baidu でさまざまな Web サイトを検索したところ、nfs を使用するとこの問題を解決できることがわかりました。しかし、各関係者が提供したソリューションは非常に古く、一部の方法では仮想マシンの起動が妨げられることさえありました。

他に方法はありません。公式 Web サイトにアクセスして、NFS 関連の構成を確認してください。正直に言うと、公式ドキュメントはちょっと単純すぎて抽象的であり、以前のものと組み合わせてしか使用できません。ようやく解決策が見つかりました。参考までに、関連する構成を以下に示します。

  1. config.vm.define :php7 を実行します |p7|
  2. p7.vm.provider "virtualbox"を実行します |v|
  3. v.customize [ "modifyvm" 、 :id、 "--name" "php6" "--memory" "512" ]
  4.  
  5. ## ドメイン名の解決が遅い
  6. v.customize [ "modifyvm" 、 :id、 "--natdnshostresolver1" "on" ]
  7. v.customize [ "modifyvm" 、 :id、 "--natdnsproxy1" "on" ]
  8. 終わり 
  9. p7.vm.box = "CentOs7"  
  10. p7.vm.ホスト名 = "php7"  
  11. p7.vm.network:プライベートネットワーク、IP: 「192.168.33.10」  
  12.  
  13. # ssh 奇妙: 仮想マシンを初めて起動するときに IP を取得できません
  14. p7.ssh.ユーザー名 = "root"  
  15. p7.ssh.password = "vagrant"  
  16. p7.ssh.ホスト = "192.168.33.11"  
  17. p7.ssh.ポート = 22
  18.    
  19. ## nfs ファイルの権限の問題。正常に起動するには数回の試行が必要でした。理由がわからない。
  20. p7.vm.synced_folder "./www"、"/data/wwwroot " タイプ: "nfs" 、:nfs => {
  21. :linux_nfs_options => [ "not_root_squash" ],
  22. :map_uid => 0,
  23. :map_gid => 0
  24. }
  25. 終わり 

この構成は、Vagrantfile で複数のマシンを構成するための構成ドキュメントです。遭遇した奇妙な問題のいくつかはコメントに記載されています。

  • vagrant up php7 を使用した後、設定された IP アドレスが無効になります。この IP アドレスを取得するには、仮想マシンを再起動する必要があります。まだ理由が分からないので、ご存知でしたら教えてください!
  • NFS 構成情報により、権限の問題は完全に解決されます。付与する必要がある権限は、Vagrang 仮想マシンで直接設定されます。ただし、ディレクトリをマウントすると、新しく構成されたマシンが使用可能になるまでに、不可解な理由で数回再起動することがあります。 3回始めました。
  • もう 1 つの落とし穴は、新しいマシンをインストールした後、DNS 解決を構成する必要があることです。そうしないと、一部のリソースをダウンロードできません。
  1. $ vim /etc/resolv.conf
  2.  
  3. ## 次のコンテンツを追加します
  4. ネームサーバー 8.8.8.8

起動時にルートアカウントを使用する設定になっているため、Macを起動するたびにマシンパスワードを入力する必要があり、非常に面倒です。公式ガイドでは/etc/sudoersを次のように設定します

  1. Cmnd_Alias ​​VAGRANT_EXPORTS_ADD = /usr/bin/tee -a /etc/exports
  2. Cmnd_Alias ​​VAGRANT_NFSD = /sbin/nfsdを再起動します
  3. Cmnd_Alias ​​VAGRANT_EXPORTS_REMOVE = /usr/bin/sed -E -e /*/ d -ibak /etc/exports
  4. %admin ALL =(root) NOPASSWD: VAGRANT_EXPORTS_ADD、VAGRANT_NFSD、VAGRANT_EXPORTS_REMOVE

この設定はMac専用です

要約する

この種の問題は非常によくあります。 Vagrant を長期間使用してきたユーザーにとっては、簡単に解決できます。しかし、ほとんどの Vagrant 初心者にとって、この問題は非常に厄介であり、Vagrant の使用を断念することに直接つながる可能性があります。皆さんが諦めないように、私はこのことを書き留めて、この穴を乗り越えられるようにしなければなりません。

<<:  「分散キャッシュの詳細」 - 「独自のキャッシュを作成する」

>>:  仮想化は仮想イメージで構成されます。基本的な仮想イメージを作成するにはどうすればよいですか?

推薦する

ウェブマスターのための ZS のメリットについて議論を続ける

今日、実名ネットワークマーケティングの朱偉坤さんが私にメッセージを残しました。「最近、列に並ぶのがと...

vSAN ストレッチ クラスタのさまざまな構成オプションにはどのようなものがありますか?

[[207428]] vSAN 6.6 では、VMware は新しいストレッチ クラスタ構成オプショ...

SEOプロジェクトで留意すべきいくつかのポイント

1. SEOには適切な戦略が必要サイトの内部要因、外部パフォーマンス(検索エンジンでのパフォーマンス...

SEO担当者:SEOを守るために団結すべき

数日前、YYのSutu Online Salon第11回に参加する栄誉に恵まれました。Wang To...

Ftpit-128mメモリVPS年間5ドルの支払い/科学的インターネットアクセス/個人ウェブサイトツール

ftpit は設立されてからしばらく経っているようですが (1 月に設立)、あまり熱心ではないようで...

Tuanbao.com が賃金未払いスキャンダルに巻き込まれる: 共同購入サイトの変革は避けられない

国内の共同購入サイトの数は2010年8月以降1,000サイトを突破した。非合理的な発展により、201...

オンサイト最適化を通じてホームページのキーワードランキングを向上させる

ウェブサイトの場合、ホームページとチャンネルページはサイト全体で最も高い重みを集めます。では、ホーム...

分散ストレージが新しいインフラストラクチャのデータブルーオーシャンを拡大

新しいインフラストラクチャはデータ処理に課題をもたらす① 大量:膨大なデータが次々と生まれています。...

SEOの観点からタイトルの長さの影響を分析する

サイトの SEO の観点から、タイトルの長さはサイトの最適化に影響しますか? この質問に対する答えは...

#五一# spinservers: 米国サーバー、月額 89 ドル (2*e5-2650Lv3/64g メモリ/1.6TSSD/10g 帯域幅)、追加の 1.26PB 大規模ストレージ サーバー

spinservers は、メーデー特別イベントを開始しました。シリコンバレー (サンノゼ) とダラ...

Bandwagonhost、最新の中国直結VPSの簡単なレビュー

今朝早く、bandwagonhost は「新品の中国直通ルーター/VPS/512M メモリ、年間 2...

TigerGraph が業界初のネイティブ グラフ データベース サービスを開始

TigerGraph Cloud は、今日のデータ速度と接続性の需要を満たす最も簡単な方法です。無料...

StreamNative、Prosperity7 VenturesとHuatai Innovationが主導する2,300万ドルのシリーズA資金調達ラウンドを発表

北京時間10月12日、クラウドネイティブのバッチストリーム融合データプラットフォームStreamNa...

ウェブマスターの推奨事項: 台湾の VPS の推奨、高速、静的 IP\動的 IP VPS、大きな帯域幅

台湾 VPS の第一の利点は、その速度です。これは香港 VPS にほぼ近く、帯域幅も大きいです。台湾...

dediserve-4 EUR/KVM/1G RAM/ノルウェーデータセンター/ウィーン/シンガポール/香港およびその他17のデータセンター

dediserve.comは、ノルウェーで17番目のデータセンターがオンラインになったことを発表しま...