天天看點

Docker搭建Robot Framework環境

基礎鏡像選擇Alpine Linux,關于Alpine的介紹參見 Alpine Docker 安裝 bash 。Dockerfile内容如下:

FROM alpine:3.7

MAINTAINER Rethink [email protected]

RUN echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.4/main/" > /etc/apk/repositories

# 加--virtual 會報錯
RUN apk update \
           && apk upgrade \
           && apk add --no-cache bash python python-dev py-pip mysql-dev build-base libffi libffi-dev \
           #&& python -m ensurepip \
           #&& rm -rf /usr/lib/python*/ensurepip \
           && pip --default-timeout=1000 install --upgrade pip setuptools \
                robotframework \
                robotframework-databaselibrary \
                robotframework-requests \
                robotframework-seleniumlibrary \
                robotframework-yamllibrary \
                robotframework-faker \
               # PyMySQL \
          && rm -rf /var/cache/apk/* \
          && rm -rf ~/.cache/* \

ENV PYTHON_VERION 2.7.14

#CMD ["python"]
           

關于Dockerfile的内容,有幾點需要注意:

  1. 以上安裝的python版本是2.7.14,對于rf架構來說,這個版本是可以的,如果想安裝3.x版本的python,清華大學的apk源中也提供了3.5.2版本,隻需要把上面Dockerfile内容中所有的

    python

    改為

    python3

    ,把

    pip

    改成

    pip3

    就可以了;
    Docker搭建Robot Framework環境
    apk源中的Python版本
  2. 以上隻安裝了PySQL子產品,如果是連接配接其他資料庫,請自行修改内容;
  3. 為了友善的進入容器操作,額外為Alpine安裝了bash;
  4. Dockerfile的内容非常靈活,可以根據自己實際需要,為dockerfile添加CMD和ENTRYPOINT指令,二者結合後可以更友善的執行pybot指令;

啟動容器執行個體進行測試,如下:

[root@JDu4e00u53f7 ~]#  docker run --rm alpine-py27 python --version
Python 2.7.14
[root@JDu4e00u53f7 ~]# docker run  --rm -v /opt/docker/alpine-py/:/alpine-py  alpine-py27 python /alpine-py/hello-world.py
hello world
           

【To be continue...】