用CentOS 7自制Vagrant Box文件

寫在前面

利用vagrant保持開發(fā)生產(chǎn)環(huán)境一致是一個(gè)很好的方法进泼,不過vagrant官網(wǎng)上的box文件下載是真的很慢,因此蜈块,這里教大家如何自制box文件曾沈。
這篇文章你會(huì)接觸到:

  • vagrant使用基礎(chǔ)
  • 如何定制vagrantfile
  • 如何設(shè)置CentOS 7
  • Virtualbox使用基礎(chǔ)
  • 如何利用vagrant打包CentOS 7成box文件
    學(xué)習(xí)前提,已經(jīng)會(huì)使用Virtualbox烙博,并且安裝了CentOS 7瑟蜈,如果不會(huì)可以看我上一篇文章: VirtualBox下安裝CentOS7系統(tǒng)
    另外,你要安裝好vagrant, 官網(wǎng)
    制作環(huán)境:
  • window 10
  • vagrant 2.2.2
  • virtualbox 5.2.8

一渣窜、 添加新用戶

啟動(dòng)創(chuàng)建好的CentOS 7新系統(tǒng)铺根,輸入帳號(hào)密碼:



添加用戶,按照提示輸入兩次密碼乔宿,用戶:vagrant, 密碼也是:vagrant, 注意位迂,root用戶的密碼也要是vagrant, 然后再設(shè)置用戶權(quán)限:

useradd vagrant #添加vagrant用戶
passwd vagrant #設(shè)置vagrant密碼
groupadd admin #添加admin用戶組
usermod -G admin vagrant #添加vagrant進(jìn)admin用戶組
添加用戶

設(shè)置用戶組

二、設(shè)置sudoers

添加vagrant用戶進(jìn)入/etc/sudoers,不用密碼登錄

echo 'vagrant ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers # 追加信息到/etc/sudoers

三囤官、更改網(wǎng)絡(luò)配置冬阳,設(shè)置開機(jī)啟動(dòng)

將ifcfg-enp0s3的ONBOOT=no,改為ONBOOT=yes

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 


其實(shí)党饮,如果是按照我上一篇文章:VirtualBox下安裝CentOS7系統(tǒng) 安裝的系統(tǒng)肝陪,這一步是不用配置的,打開文件可以看到onboot設(shè)置已經(jīng)是yse了刑顺。

ping www.baidu.com #測(cè)試網(wǎng)絡(luò)是否正常

四氯窍、關(guān)閉防火墻

centos7中默認(rèn)用的是firewalld做防火墻,開發(fā)的box可以直接禁用掉firewalld

systemctl stop firewalld.service
systemctl disable firewalld.service

五蹲堂、安裝必備軟件

當(dāng)然是個(gè)人喜好狼讨,不過這些都很有用,最好裝上:

yum install -y wget

六柒竞、添加vagrant's public key

mkdir -m 0700 -p /home/vagrant/.ssh
curl https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub >> /home/vagrant/.ssh/authorized_keys
chmod 0600 /home/vagrant/.ssh/authorized_keys

七政供、安裝 virtualBox guest addition

由于我們安裝的系統(tǒng)是無界面的,因此只能通過命令行安裝:

yum clean all # 清空yum緩存并強(qiáng)制重讀任何改變過的配置文件
yum groupinstall "Development tools" # 安裝開發(fā)工具朽基,這個(gè)工具會(huì)安裝一些常用的開發(fā)編譯工具, 后面要用布隔,如 gcc,git
wget http://download.virtualbox.org/virtualbox/5.2.8/VBoxGuestAdditions_5.2.8.iso # 這里的5.2.8對(duì)應(yīng)的是virtualbox的版本號(hào)稼虎,可以根據(jù)自己的版本號(hào)更改
sudo mkdir /media/VBoxGuestAdditions
sudo mount -o loop,ro VBoxGuestAdditions_5.2.8.iso /media/VBoxGuestAdditions
sudo sh /media/VBoxGuestAdditions/VBoxLinuxAdditions.run
rm VBoxGuestAdditions_5.2.8.iso
sudo umount /media/VBoxGuestAdditions
sudo rmdir /media/VBoxGuestAdditions

八衅檀、清理操作

清除剛剛做的操作留下的一些內(nèi)容,保持系統(tǒng)干凈

yum clean all # 清除yum操作緩存
rm -rf /tmp/* # 清除tmp下的零時(shí)文件
rm -f /var/log/wtmp /var/log/btmp # 清除日志
history -c # 清除歷史
shutdown -h now # 立即關(guān)機(jī)

九霎俩、 制作Vagrant Box

在宿主機(jī)上cmd輸入以下內(nèi)容:

vagrant package --output centos-7.box --base CentOS7_1

--output后面是打包成box的文件名哀军,--base是virtualbox里的centos名稱


打包成功

十、測(cè)試

創(chuàng)建新的目錄打却,用vagrant啟動(dòng)centos杉适。

mkdir centos-7 # 創(chuàng)建目錄
cd centos-7 # 進(jìn)入目錄
vagrant init centos-7 # 創(chuàng)建新的環(huán)境
vagrant box add centos-7 C:/Users/steven/centos-7.box # 添加新的box

這里目錄里會(huì)出現(xiàn)一個(gè)vagrantfile, 修改文件:

Vagrant.configure("2") do |config|

  config.vm.box = "centos-7" # 虛擬機(jī)上出現(xiàn)的名字
  config.vm.hostname = "WEB"
  config.ssh.username = "vagrant"
  config.ssh.password = "vagrant"
  config.ssh.insert_key = false
  config.ssh.private_key_path = ["~/.ssh/id_rsa"]
  config.vm.provision "file", source: "~/.ssh/id_rsa.pub", destination: "~/.ssh/authorized_keys"
  config.vm.synced_folder ".", "/vagrant", disabled: true

  config.vm.provider "virtualbox" do |v|
    v.customize ["modifyvm", :id, "--name", "centos7-learn", "--memory", "1536"]
  end
end

簡(jiǎn)單配置好,可以啟動(dòng)了.

# 啟動(dòng)虛擬機(jī),第一次啟動(dòng)會(huì)比較久
vagrant up 
# 執(zhí)行vagrantfile里的命令学密,把本地的id_ras.pub傳到虛擬機(jī)里淘衙,
# 不用這一步,沒辦法使用vagrant ssh 直接登錄腻暮,要輸入密碼彤守,執(zhí)行了這一步,就可以免密登錄
vagrant provision 
# 登錄虛擬機(jī)
vagrant ssh

至此哭靖,成功進(jìn)入系統(tǒng)具垫,配置成功。雖然已經(jīng)盡量把配置過程中的坑寫出來试幽,但是實(shí)際配置過程中應(yīng)該還會(huì)有問題出現(xiàn)筝蚕,大家有什么疑問,歡迎來咨詢。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末起宽,一起剝皮案震驚了整個(gè)濱河市洲胖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌坯沪,老刑警劉巖绿映,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異腐晾,居然都是意外死亡叉弦,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門藻糖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來淹冰,“玉大人,你說我怎么就攤上這事巨柒∮K” “怎么了?”我有些...
    開封第一講書人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵潘拱,是天一觀的道長(zhǎng)疹鳄。 經(jīng)常有香客問我拧略,道長(zhǎng)芦岂,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任垫蛆,我火速辦了婚禮禽最,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘袱饭。我一直安慰自己川无,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開白布虑乖。 她就那樣靜靜地躺著懦趋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪疹味。 梳的紋絲不亂的頭發(fā)上仅叫,一...
    開封第一講書人閱讀 49,829評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音糙捺,去河邊找鬼诫咱。 笑死,一個(gè)胖子當(dāng)著我的面吹牛洪灯,可吹牛的內(nèi)容都是我干的坎缭。 我是一名探鬼主播,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼掏呼!你這毒婦竟也來了坏快?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤憎夷,失蹤者是張志新(化名)和其女友劉穎假消,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體岭接,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡富拗,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鸣戴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片啃沪。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖窄锅,靈堂內(nèi)的尸體忽然破棺而出创千,到底是詐尸還是另有隱情,我是刑警寧澤入偷,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布追驴,位于F島的核電站,受9級(jí)特大地震影響疏之,放射性物質(zhì)發(fā)生泄漏殿雪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一锋爪、第九天 我趴在偏房一處隱蔽的房頂上張望丙曙。 院中可真熱鬧,春花似錦其骄、人聲如沸亏镰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽索抓。三九已至,卻和暖如春毯炮,著一層夾襖步出監(jiān)牢的瞬間逼肯,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來泰國打工否副, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留汉矿,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓备禀,卻偏偏與公主長(zhǎng)得像洲拇,于是被迫代替她去往敵國和親奈揍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容