1. 程式人生 > >【雲端計算導論】使用Vagrant配置並建立屬於自己的CentOS box

【雲端計算導論】使用Vagrant配置並建立屬於自己的CentOS box

在使用Vagrant建立虛擬機器時,我們要使用CentOS的box來建立虛擬機器,而官方提供的box是原版的box,建立完成後還需要自己手動配置環境。我們可以建立一個已經裝載好自己需要的常用軟體依賴的box,然後將這個box重複使用。

安裝centos7原版虛擬機器方法請參考實驗一第四條:安裝Vagrant,並使用Vagrant安裝CentOS

安裝完成後使用XShell以vagrant使用者身份(賬號和密碼均為vagrant)登入

一、使用Pyenv,在Vagrant CentOS中安裝Python3.6.6

(一)安裝Pyenv

  1. sudo yum -y update
  2. sudo reboot
    ,一段時間後重新連線進去
  3. 安裝git: sudo yum -y install git
  4. 安裝依賴包: sudo yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
  5. 安裝pyenv包: mkdir ~/.pyenv git clone https://github.com/pyenv/pyenv.git ~/.pyenv
  6. 定義環境變數: echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
    echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
  7. 新增pyenv init到shell中: echo 'eval "$(pyenv init -)"' >> ~/.bashrc
  8. 重啟shell: exec $SHELL -l
  9. 檢視pyenv支援的全部Python版本,同時也用來測試是否安裝成功: pyenv install --list

(二)使用Pyenv安裝Python3.6.6

  1. 安裝pip: sudo yum -y install epel-release sudo yum -y install python-pip
    sudo yum clean all
  2. 安裝好庫檔案: sudo yum install zlib-devel bzip2-devel sqlite sqlite-devel openssl-devel
  3. 安裝gcc: sudo yum install -y gcc
  4. 安裝Python3.6.6: pyenv install 3.6.6
  5. 檢視安裝結果(處於啟用狀態的版本前以 * 標示): pyenv versions
  6. 更新資料庫 pyenv rehash
  7. 設定全域性python版本(global) pyenv global 3.6.6
  8. 檢視當前Python版本 python -V

至此,我們就已經制作了一個帶有Pyenv和Python3.6.6環境的CentOS虛擬機器了。

二、打包BOX

先關閉剛剛建立的虛擬機器 然後以管理員身份開啟cmd,進入剛剛建立的虛擬機器的Vagrantfile所在的資料夾 執行以下語句: vagrant package 完成後便會在該目錄下生成一個“package.box”,這個box即為打包好當前環境的box

現在將該box載入到vagrant的box list中: vagrant box add --name 'my-virtualbox' package.box

看是否新增成功: vagrant box list

新建一個資料夾,用來存放init該box後產生的Vagrantfile檔案:

cd ..
mkdir myCentOS
cd myCentOS

Init該box: vagrant init my-virtualbox

完成後便可在myCentOS資料夾中就可以看到自己建立的box的Vagrantfile檔案。