在Linux docker上安裝STF


需要解決問題:調研openstf/stf(https://github.com/openstf/stf),搭建docker(https://www.docker.com/)環境。

拆解為:

  1. docker基本使用
  2. stf 如何安裝

逐個來看:

1. docker基本使用

  • 理解總體框架

docker images //查看本地鏡像
docker ps -a //查看本地容器

docker run -it --name <指定容器名> <鏡像名>  //create/start 某鏡像
docker exec -it <容器名>  指令  //進入某容器,指令一般為/bin/bash

docker stop <容器名>
docker rm <容器名>
docker rmi <鏡像名>

docker pull 
docker commit
docker push

2. stf 如何安裝

stf 官方文檔關於如何install,只說明了mac os 和 windows。mac os使用Linux內核,參照該部分。

mac os:
brew install rethinkdb graphicsmagick zeromq protobuf yasm pkg-config npm install -g stf

brew 為os命令,linux中可使用對應包管理工具,實現以下前提。

查看Linux系統,使用對應包管理工具(與系統版本有關)cat /proc/version //linux 內核系統
lsb_release -a //linux 系統版本,各發行廠商在內核基礎上封裝

//ubuntu sudo apt-get install rethinkdb graphicsmagick zeromq protobuf yasm pkg-config //rethinkdb zeromq protobuf 無法安裝

安裝rethinkdb,默認源無,需添加 https://www.rosehosting.com/blog/install-rethinkdb-on-ubuntu-14-04/sudo apt-get update
sudo apt-get upgrade
//添加鏡像源並更新
source /etc/lsb-release && echo "deb http://download.rethinkdb.com/apt $DISTRIB_CODENAME main" | sudo tee /etc/apt/sources.list.d/rethinkdb.list
wget -qO- http://download.rethinkdb.com/apt/pubkey.gpg | sudo apt-key add -
sudo apt-get update
//實際安裝rethinkdb
sudo apt-get install rethinkdb
//驗證安裝成功
rethinkdb

安裝zeromq,鏡像源無,需源碼編譯安裝 https://maddigitiser.wordpress.com/2013/05/02/installing-zeromq-on-ubuntu-13-04/

sudo apt-get install libtool autoconf automake uuid-dev build-essential

cd ~

wget https://archive.org/download/zeromq_4.1.4/zeromq-4.1.4.tar.gz

tar zxvf zeromq-3.2.2.tar.gz && cd zeromq-3.2.2

./configure

make && make install 

//驗證安裝成功  https://gist.github.com/cdjhlee/b8e3c927a01b0948b42d

sudo ldconfig

ldconfig -p | grep zmq

#libzmq.so.4 (libc6,x86-64) => /usr/local/lib/libzmq.so.4

#libzmq.so (libc6,x86-64) => /usr/local/lib/libzmq.so

 

安裝protobuf,鏡像源無,需源碼編譯安裝  http://blog.csdn.net/xiexievv/article/details/47396725

wget https://github.com/google/protobuf/archive/v3.3.0.tar.gz

tar zxvf v3.3.0.tar.gz

cd protobuf-v3.3.0.tar.gz

./autogen.sh  //生成./configure

./configure --prefix=/usr/local/protobuf  //指定安裝目錄

make 

make check

make install

//修改環境變量,添加以下內容

vi ~/.bash_profile

####### add protobuf lib path ########

#(動態庫搜索路徑) 程序加載運行期間查找動態鏈接庫時指定除了系統默認路徑之外的其他路徑

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib/

#(靜態庫搜索路徑) 程序編譯期間查找動態鏈接庫時指定查找共享庫的路徑

export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/protobuf/lib/

#執行程序搜索路徑

export PATH=$PATH:/usr/local/protobuf/bin/

#c程序頭文件搜索路徑

export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/protobuf/include/

#c++程序頭文件搜索路徑

export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/protobuf/include/

#pkg-config 路徑

export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/

######################################

//驗證安裝成功

protoc

安裝node,源碼安裝,make時間較久,40分鍾+
sudo chmod -R 755 node
$ cd node
$ sudo ./configure $ sudo make $ sudo make install
//驗證node
node --version
//npm默認安裝,但版本較低,需要手動更新
npm install npm //執行緩慢后報錯,添加鏡像為國內淘寶鏡像后完成安裝
//驗證npm
npm -v
 

實際安裝過程踩坑無數,先記錄一二。

問題一:進入docker,未設置root密碼
sudo passwd
問題二:安裝protobuf,執行autogen報錯autoreconf not found
解決:缺少依賴,sudo apt-get install autoconf autogen(https://github.com/horst3180/arc-theme/issues/63)
問題三:源碼安裝node,git最新版本未pre,非穩定版,執行過程各種問題報錯
node download頁面,右鍵復制下載地址,wget穩定版本
問題四:安裝linuxbrew后使用brew
install rethinkdb graphicsmagick zeromq protobuf yasm pkg-config,安裝protobuf報錯python.h文件找不到,實際目錄存在該文件(http://blog.csdn.net/hello_orange/article/details/6184420)
這個問題始終沒有解決,猜測linuxbrew的問題,糾結很久后源碼安裝

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM