Vagrant定製個性化CentOS7虛擬機模板

關於虛擬機模板

想用vagrant搭建hadoop集羣,要完成如下準備工做:shell

  1. 三個虛擬機實例操做系統都是CentOS7的server版;
  2. 每一個實例都要安裝一樣的應用、關閉防火牆、關閉swap等; 今天就來作個模板,用此模板建立好的虛擬機都已經完成了上述操做;

關於vagrant的安裝和基本操做,請參考《Mac下vagrant從安裝到體驗》centos

環境信息

  1. 操做系統:macOS Mojave 10.14.6
  2. Vagrant:2.2.5
  3. VirtualBox:6.0.10

建立實例並完成個性化設置

  1. 建立一個centos7的實例,以此實例來作模板,新建個目錄,在裏面執行命令<font color="blue">vagrant init centos/7</font>;
  2. 再執行命令<font color="blue">vagrant up</font>啓動實例;
  3. 執行命令<font color="blue">vagrant ssh</font>進入虛擬機,默認密碼是<font color="blue">vagrant</font>,另外root帳號的密碼也是<font color="blue">vagrant</font>;
  4. 登陸以後,而後按照本身的須要去操做吧,例如關閉防火牆、安裝JDK、關閉swap等;
  5. 爲了能用ssh工具來遠程鏈接虛擬機,須要修改<font color="blue">/etc/ssh/sshd_config</font>文件,將和的值設置以下:
PermitRootLogin yes
PasswordAuthentication yes

以上的設置已經知足我我的的須要了,您能夠按照本身的要求來作;網絡

把實例作成模板

  1. 退出虛擬機;
  2. 在<font color="blue">Vagrantfile</font>文件所在目錄執行<font color="blue">vagrant halt</font>命令將當前虛擬機中止;
  3. 執行<font color="blue">vagrant package</font>命令將當前虛擬機做爲文件導出,名爲<font color="blue">package.box</font>:
zhaoqin@CN0014005932:~/vm/template$ vagrant package
==> default: Attempting graceful shutdown of VM...
==> default: Clearing any previously set forwarded ports...
==> default: Exporting VM...
==> default: Compressing package to: /Users/zhaoqin/vm/template/package.box
zhaoqin@CN0014005932:~/vm/template$ ls
Vagrantfile package.box
  1. 接下來將這個導出的package.box文件加入本地box倉庫:
vagrant box add --name my-c7-template ./package.box

上述命令執行成功後,能夠在本地box列表中見到名爲<font color="blue">my-c7-template</font>的box:ssh

zhaoqin@CN0014005932:~/vm/template$ vagrant box add --name my-c7-template ./package.box
==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'my-c7-template' (v0) for provider:
    box: Unpacking necessary files from: file:///Users/zhaoqin/vm/template/package.box
==> box: Successfully added box 'my-c7-template' (v0) for 'virtualbox'!
zhaoqin@CN0014005932:~/vm/template$ vagrant box list
centos/7       (virtualbox, 1905.1)
customize-c7   (virtualbox, 0)
my-c7-template (virtualbox, 0)

<font color="red">注意:執行vagrant box add命令的時候,最後一個參數指明瞭box文件的位置,我這裏加了"./"指明是當前目錄,這個"./"必定不能省掉,不然頗有可能去找到了其餘目錄下的package.box文件</font> 模板製做已經完成,接下來驗證這個實例;ide

驗證

  1. 新建個目錄,在裏面執行命令<font color="blue">vagrant init my-c7-template</font>;
  2. 打開新生成的Vagrantfile文件,增長如下配置,做用是將虛擬機網絡類型改爲私有網絡並固定IP地址:
config.vm.network "private_network", ip: "192.168.33.10"
  1. 再執行命令<font color="blue">vagrant up</font>啓動實例;
  2. 因爲模板裏已經設置了ssh,容許以root帳號遠程ssh登陸,因此此次ssh客戶端登陸試試,以下圖,能夠順利登陸成功: 在這裏插入圖片描述
  3. 您也能夠檢查其餘的設置是否已經生效;

以上就是個性化虛擬機模板的製做過程,藉助此功能能夠高效的建立虛擬機實例,但願本文可以給您一些參考。工具

相關文章
相關標籤/搜索