自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在Windows上使用Vagrant遇到的坑

云計(jì)算 虛擬化
這篇文章是在windows上使用了vagrant半年后,突然切換到mac上來(lái),遇到了各種坑,今天補(bǔ)了這篇文章。希望對(duì)你有幫助。

這篇文章是在windows上使用了vagrant半年后,突然切換到mac上來(lái),遇到了各種坑,今天補(bǔ)了這篇文章。希望對(duì)你有幫助。

遇到的問(wèn)題

之前寫(xiě)了一系列的vagrant使用教程,當(dāng)時(shí)寫(xiě)這個(gè)教程的時(shí)候?qū)嵲趙indows的環(huán)境下。最近再mac上使用,遇到了一些麻煩。

今天最想說(shuō)的一個(gè)問(wèn)題就是權(quán)限的問(wèn)題。

在windows中由于沒(méi)有文件權(quán)限的概念,所有當(dāng)我們共享目錄后,共享目錄默認(rèn)就是777權(quán)限。

但是當(dāng)我使用mac時(shí),共享后的目錄權(quán)限以及用戶(hù)組都不正確了。無(wú)法正常使用。這樣導(dǎo)致的一個(gè)直接問(wèn)題就是:

項(xiàng)目a運(yùn)行在虛擬機(jī)中,需要向runtime目錄寫(xiě)入日志或者臨時(shí)文件之類(lèi)的,總之就是需要讀寫(xiě)權(quán)限。

解決辦法

當(dāng)時(shí)我直接ssh上vagrang后,給予777權(quán)限,無(wú)法寫(xiě)入,然后又在主機(jī)給予777權(quán)限,可以寫(xiě)入一個(gè)文件,但是下個(gè)文件又拿到權(quán)限寫(xiě)入。

后來(lái)由各種google與百度,看到說(shuō)使用nfs的方式可以解決這個(gè)問(wèn)題,但是各方給出的解決方案都很成舊,有的方法使用后甚至虛擬機(jī)都無(wú)法啟動(dòng)了。

沒(méi)辦法,老老實(shí)實(shí)上官網(wǎng)看nfs相關(guān)的配置吧。老實(shí)說(shuō)官方給的文檔真的是有點(diǎn)太簡(jiǎn)單抽象了,只能結(jié)合之前的一些東西結(jié)合起來(lái)使用。最終終于找到辦法,這里將相關(guān)的配置貼出來(lái),供大家參考。

  1. config.vm.define :php7 do |p7| 
  2.   p7.vm.provider "virtualbox" do |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.   end 
  9.   p7.vm.box = "CentOs7" 
  10.   p7.vm.hostname = "php7" 
  11.   p7.vm.network :private_network, ip: "192.168.33.10" 
  12.  
  13.   # ssh 奇怪:***次啟動(dòng)虛擬機(jī)無(wú)法獲取ip 
  14.   p7.ssh.username = "root" 
  15.   p7.ssh.password = "vagrant" 
  16.   p7.ssh.host = "192.168.33.11" 
  17.   p7.ssh.port = 22 
  18.    
  19.   ## nfs文件權(quán)限問(wèn)題  啟動(dòng)了好幾次才正常,不知道原因 
  20.   p7.vm.synced_folder "./www""/data/wwwroot", type: "nfs", :nfs => { 
  21.     :linux_nfs_options => ["not_root_squash"], 
  22.     :map_uid => 0, 
  23.     :map_gid => 0 
  24.   } 
  25. end 

這個(gè)配置是在一個(gè) Vagrantfile 中配置多臺(tái)機(jī)器的配置文檔。其中遇到的一些奇怪問(wèn)題,注釋中都標(biāo)明了。

  • 配置的ip地址,***使用 vagrant up php7 后,無(wú)效,需要重新啟動(dòng),虛擬機(jī)才能拿到這個(gè)ip。至今不懂為什么,麻煩知道的告訴我一下啊!
  • nfs配置信息全面解決了權(quán)限問(wèn)題。你需要給出什么權(quán)限直接在 vagrang 虛擬機(jī)中進(jìn)行設(shè)置。但是在掛載目錄時(shí),有時(shí)候配置的新機(jī)器會(huì)莫名其妙重新啟動(dòng)好幾次才可以。我啟動(dòng)了三次。
  • 另一個(gè)坑是,新機(jī)器安裝后,需要配置dns解析。否則有的資源是無(wú)法下載的。
  1. $ vim /etc/resolv.conf 
  2.  
  3. ## 增加以下內(nèi)容 
  4. nameserver 8.8.8.8 

由于配置了啟動(dòng)時(shí)使用 root 帳號(hào),需要每次在mac上啟動(dòng)的時(shí)候輸入機(jī)器密碼,很麻煩,官方指導(dǎo)配置 /etc/sudoers 如下內(nèi)容

  1. Cmnd_Alias VAGRANT_EXPORTS_ADD = /usr/bin/tee -a /etc/exports 
  2. Cmnd_Alias VAGRANT_NFSD = /sbin/nfsd restart 
  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 

該配置僅針對(duì)mac

總結(jié)

這類(lèi)問(wèn)題還是蠻常見(jiàn),對(duì)于使用很久的用戶(hù),輕松解決了,但是對(duì)于大多數(shù)使用vagrant的新手,這個(gè)問(wèn)題很頭痛,可能直接導(dǎo)致放棄使用vagrant吧。為了不讓你放棄,我必須寫(xiě)出來(lái)幫助大家渡過(guò)這道坑。

責(zé)任編輯:武曉燕 來(lái)源: 大愚的博客
相關(guān)推薦

2020-10-26 09:00:00

LinuxVagrant操作系統(tǒng)

2021-09-28 13:00:21

Vagrant腳本

2013-05-13 10:03:04

git

2020-08-25 19:56:43

MinGWWindowsGNU

2015-07-20 17:12:57

2017-07-14 09:29:45

AndroidWebview

2018-07-16 14:23:30

代碼Android問(wèn)題

2011-12-29 09:03:14

VIM

2020-06-11 14:33:10

MacBookLinux軟件

2021-10-15 06:58:41

psycopg2綠色版 Python

2017-08-01 05:44:10

Dockerweave虛擬機(jī)

2024-09-09 08:02:27

2024-09-09 09:08:28

2012-11-23 14:33:06

IBMdW

2012-02-02 17:10:35

Windows PhoC#發(fā)送短信

2023-01-28 21:27:27

2022-06-30 13:54:16

BottlesLinuxWindows

2017-06-23 11:20:00

DockerWeave內(nèi)核

2023-09-27 17:41:59

WindowsVirtualBox

2022-06-23 09:55:56

WineZGUILinux 桌面Windows 應(yīng)用
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)