1. 程式人生 > >windows虛機+vagrant+docker部署

windows虛機+vagrant+docker部署

voltha build

離線執行環境

  1. 環境準備(virtualbox,vagrant,已裝docker的box檔案)
  2. 建立共享資料夾詳細見此
  3. 執行docker容器 > cd /cord/incubator/voltha > source env.sh > docker-compose -f compose/docker-compose-system-test.yml up -d > docker-compose -f compose/docker-compose-system-test.yml ps
  4. 登陸命令列 > ssh -p 5022 [email protected]

NOTE:

  1. 已裝環境box: 71:\volt\packages\vagrant-boxes\voltha-boxes\xenial-server-cloudimg-amd64-vagrant-docker.box

  2. 映象檔案: 71:\volt\packages\images 單個載入 docker load < xxx.tar 指令碼載入> python load-images.py

  3. 問題

    1. 過程中遇到ssh登陸cli問題
       No vltha-grpc service registered in consul; exiting 
       connection to localhost closed
    

    解決:一定執行source env.sh在Python虛擬環境中執行docker-compos;

    1. ssh訪問cli很慢或卡住 解決:關閉重新進入。還未找到其他解決辦法。
  • 如有問題還請反饋進一步解決

線上build環境(未完,待修改)

軟體版本

  1. 下載適合系統的virtualbox版本 下載路徑
  2. 下載適合系統的vagrant版本 下載路徑
  3. voltha原始碼
    • 共享資料夾:10.63.192.71
    • github 路徑
  4. ubuntu雲映象
  5. docker映象
    • 共享資料夾:packages/images

安裝

  1. virtualbox預設安裝
  2. virtualbox增強功能安裝 參考
    • 【設定】->【儲存】->【控制器】(+O 虛擬光碟機)->確定
    • 【啟動box】->【裝置】->【安裝增強功能】->強制釋放
    • > mkdir /mnt/cdrom
    • > mount /dev/sr0 /mnt/cdrom
    • cd /mnt/cdrom
    • ./VBoxLinuxAdditions.run
    • 【控制】->【重啟】
  3. vagrant預設安裝
  4. 雲映象啟動 參考路徑
    • cmd命令列載入 > vagrant add box NAME xxxx.box > vagrant init NAME > vagrant up vagrant ssh 或者 virtualbox顯示
  5. apt安裝 apt-get insatall virtualenv
  6. pip安裝 pip install xxx

上網及源

NOTE

  1. ip > ifconfig 檢視網絡卡資訊,tx和rx有讀數 配置靜態ip #網路地址轉換NAT不需要 > vi /etc/network/interfaces auto enp0s3 iface enp0s3 inet static address xx.xx.xx.xx gateway xx.xx.xx.xx netmask 255.255.255.0 broadcast xx.xx.xx.xx dns-nameserver xx.xx.xx.xx
  2. dns > vi /etc/resolve.conf nameserver xx.xx.xx.xx
  3. 永久proxy > vi /etc/profile http_proxy=“http://myproxyaddr:port/” export http_proxy > source /etc/profile > export #檢視環境變數http_proxy
  4. apt代理 > /etc/apt/apt.conf Acquire::http::proxy “http://myproxyaddr:port/”; 或 Acquire::http::proxy “http://user:[email protected]:port/”;
  5. apt 源 > vi /etc/apt/sources.list 更新 > apt-get update
  6. 防火牆 ufw enable/disable ufw deny/allow ufw status

共享資料夾設定 參考

虛擬機器【設定】->【共享資料夾】->【固定分配】 mkdir /pcshare mount -t vboxsf volt /pcshare

python虛擬環境

  1. apt安裝 apt-get insatall virtualenv
  2. pip安裝 pip install xxx

vagrant ssh(進入ubuntu)

  1. 配置代理
  2. 更新映象源 > mv /etc/apt/source.list /etc/apt/source.list.bak > cp /pcshare/source.list /etc/apt/source.list > apt-get update
  3. 更新pip源 > mkdir ~/.pip > vi ~/.pip/pip.conf > python -m pip install --upgrade pip > ln -s /user/local/bin/pip /usr/bin/pip
  4. 安裝docker
    1. ubuntu16.0.14 > apt-get install docker.io
    2. 配置docker hub源 無資料夾先建立 >mkdir -p /etc/systemd/system/docker.service.d > vi /etc/systemd/system/docker.service.d/http-proxy.conf 新增 [Service] Environment=“HTTP_PROXY=http://proxy.example.com:80/” >sudo systemctl daemon-reload >systemctl show --property=Environment docker >systemctl restart docker
    3. 配置docker代理 > vi /etc/docker/daemon.json { “registry-mirrors”: [“https://registry.docker-cn.com”] } dns (#不一定要配置) { “dns”:[xx.xx.xx.xx] }

錯誤

  1. TypeError: unsupported operand type(s) for -=: ‘retry’ and ‘int’ proxy設定,上網

  2. astroid requires Python ‘>=3.4.*’ but the running python is 2.7.12 臨時註釋掉pylint安裝requires.txt

  3. pypcap 找不到pcap.h apt-get install libpcap-dev pip install pypcap

  4. s.startwith(’/’) python環境不對,退出virtualenv(>deactivate)