一、Docker简介
Docker 是一个开源的应用容器引擎,基于Go 语言并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。(具体可参考http://www.runoob.com/docker/docker-tutorial.html,里面还包含了Docker的应用场景及优点)
二、环境搭建
1、MacOS下载安装docker
参考http://www.runoob.com/docker/macos-docker-install.html
2、docker下载centos镜像
本次环境搭建是基于centos实现appium的环境搭建,所以我下载的是centos的镜像,使用命令docker pull centos即可,在下载之前如果想限定centos的版本,可以先用命令docker search centos来查找和centos有关的镜像,然后再选择自己想要下载的镜像即可。
3、下载centos常用命令
刚pull下来的镜像很多工具都没有,如vim、wget、curl之类的,可以通过如下命令进行下载(yum源是centos自带的):
先创建容器并进入到容器中,如:docker run -ti --name mycentos centos /bin/bash
其中-t表示为容器重新分配一个伪输入终端,通常与 -i 同时使用,-i表示以交互模式运行容器
vim下载: yum -y install vim
wget下载: yum install wget
curl: 参考http://www.souvc.com/?p=1779
4、创建容器下载安装Python3
去官网下载编译安装包或者直接执行以下命令下载:
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
解压缩:tar -xvJf Python-3.6.2.tar.xz
切换进入:cd Python-3.6.2
编译安装:./configure prefix=/usr/local/python3
make && make install
安装完毕,/usr/local/目录下就会有python3了
然后在centos下有默认的python2
如果想要在终端下输入python后默认是python3的话,可以设置软链接:ln -s /usr/local/python3/bin/python3/ usr/bin/python
这样就默认的是python3了,不过这样会存在一个问题,会导致yum源不可用,因为centos下的yum是依赖于python2,所以还需要修改yum的配置,使用vim /usr/bin/yum
将第一行改为#!/usr/bin/python2即可,同理:vim /usr/libexec/urlgrabber-ext-down也需要做上述修改。
最后使用在终端上输入python试一下
5、下载jdk
先检查下自己的Java版本,可以使用java -version查看,我下载的centos镜像自带的java版本是1.7.0比较低,为了保险起见,我删掉原来的java1.7.0,删除步骤如下:
(1)先查找它们的安装位置 :rpm -qa | grep java
(2)只需要删除后缀为.x86_64的即可,使用 rpm -e --nodeps加上系统自带的jdk名字即可,删除完了之后可以通过rpm -qa | grep java确认删除了没有。
(3)下载安装jdk
通过wget命令下载:
wget --no-check-certificate --no-cookies --header "Cookie:oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm
下载完成之后新建一个目录:mkdir /usr/java
把下载好的rpm文件挪去:cpjdk-8u131-linux-x64.rpm/usr/java/
然后进入目录中:cd /usr/java
给文件添加可执行权限:chmod +x jdk-8u131-linux-x64.rpm
执行rpm目录执行安装:rpm -ivhjdk-8u131-linux-x64.rpm
查看是否安装成功:java -version
成功之后显示如下:
配置环境,打开/etc/profile添加:
JAVA_HOME=/usr/java/jdk1.8.0_131
JRE_BIN=/usr/java/jdk1.8.0_131/jre
PATH=$PATH:$JAVA_HOME/bin:$JREHOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_BIN PATH CLASSPATH
6、下载android sdk platform-tools(adb)
使用wget进行下载:
wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
解压缩:unzip sdk-tools-linux-3859397.zip
创建sdk文件:mkdir -p /opt/android/sdk/
将解压缩后的文件tools移动到/opt/android/sdk/下面:mv tools /opt/android/sdk/
进入sdk目录中:cd /opt/android/sdk
创建一个特殊文件:touch ~/.android/repositories.cfg 至于为什么要创建这个文件,网上的说法是“在“./tools/bin/sdkmanager “tools” “platform-tools””这一步的时候可能会出现 Warning: File /root/.android/repositories.cfg could not be loaded.的错误,那么就需要创建 touch ~/.android/repositories.cfg”
执行下面这两条命令看是否可以运行成功,如果可以成功,证明没问题:
yes | ./tools/bin/sdkmanager --licenses
./tools/bin/sdkmanager "tools" "platform-tools"
完成后打开/etc/profile配置环境变量:
export ANDROID_HOME='/opt/android/sdk'
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=$PATH:/opt/android/sdk/platform-tools
7、下载nvm和node.js(node.js的下载需要用到nvm)
(1)下载nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.5/install.sh | bash
完成后重新登录或者执行source ~/.bashrc让环境变量生效,执行nvm –version验证安装情况。
(2)下载node.js
nvm install --lts # nvm会自动选择lts版本作为默认版本
如果你不是安装LTS版本,要多一个命令:
nvm install 8.7.0
nvm use 8.7.0 --default
完成后执行node - -version验证安装情况。
8、下载appium
如果使用npm直接进行安装,可能会出现各种各样的报错,那就先下载cnpm,换成cnpm下载即可,
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install -g appium --unsafe-perm
下载完成后使用appium - -version验证或者直接启动appium服务试一下。
9.下载OpenCV
OpenCV要从源码编译安装,需要先安装Cmake,OpenCV又需要高一点版本的Cmake,CentOS自带的版本不够,所以Cmake也要从源码安装......
(1)先安装cmake吧,命令如下:
wget http://www.cmake.org/files/v3.1/cmake-3.1.3.tar.gz
tar zxvf cmake-3.1.3.tar.gz
cd cmake-3.1.3
./configure --prefix=/usr/local/cmake-3.1.3
make && make install
ln -s /usr/local/cmake-3.1.3/bin/cmake /usr/local/bin/
安装完OpenCV得到一个opencv_version的命令,就可以打印OpenCV的版本号了。
(2)下载opencv-python
这是一个python的opencv封装库,安装前需要一些系统的X11运行库来支撑运行(不知道具体是干嘛的)
yum install -y libSM libXrender libXext
pip install opencv-python
安装完成后,使用python -c “import cv2”可以检查是否正确安装了。
10、下载appium-doctor
npm install appium-doctor
下载完成后,在命令行上输入appium-doctor来验证appium环境的正确性,如果提示说"opencv4nodejs"不存在,那就还需要下载一个"opencv4nodejs"。
11、下载opencv4nodejs
这个东西的下载特别慢,而且可能下载失败
cnpm i -g opencv4nodejs
下载完成最好关机重启。
最后输入appium-doctor验证一下:
上面就是centos下appium环境的全部配置步骤了。
但是不知道如何让docker操作USB设备,因为lsusb查取不到任何usb设备。。。目前还正在研究中。
最后附上docker的常用操作命令链接:http://www.runoob.com/docker/docker-command-manual.html