基础镜像选择Alpine Linux,关于Alpine的介绍参见Alpine Docker 安装 bash。Dockerfile内容如下:
FROM alpine:3.7
MAINTAINER Rethink shijianzhihu@foxmail.com
RUN echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.4/main/" > /etc/apk/repositories
RUN apk update \
&& apk upgrade \
&& apk add --no-cache bash python \
&& python -m ensurepip \
&& rm -rf /usr/lib/python*/ensurepip \
&& pip install --upgrade pip setuptools \
&& rm -rf ~/.cache/ \
&& pip --default-timeout=100 install robotframework \
&& pip --default-timeout=100 install PyMySQL \
&& pip --default-timeout=100 install robotframework-databaselibrary \
&& pip --default-timeout=100 install robotframework-requests \
&& pip --default-timeout=100 install robotframework-seleniumlibrary \
&& pip --default-timeout=100 install robotframework-yamllibrary \
&& rm -rf /var/cache/apk/*
关于Dockerfile的内容,有几点需要注意:
- 以上安装的python版本是2.7.14,对于rf框架来说,这个版本是很合适的,如果想安装3.x版本的python,清华大学的apk源中也提供了3.5.2版本,只需要把上面Dockerfile内容中所有的
python
改为python3
,把pip
改成pip3
就可以了;
apk源中的Python版本 - 以上只安装了PySQL模块,如果是连接其他数据库,请自行修改内容;
- 为了方便的进入容器操作,额外为Alpine安装了bash;
- Dockerfile的内容非常灵活,可以根据自己实际需要,为dockerfile添加CMD和ENTRYPOINT命令,二者结合后可以更方便的执行pybot命令;
依照Dockerfile构建容器:docker build -t alpine-py27 .
,构建完成后的镜像体积大小为67.9M;
启动容器实例进行测试,如下:
[root@JDu4e00u53f7 ~]# docker run --rm -it alpine-py27 python --version
Python 2.7.14
[root@JDu4e00u53f7 ~]# docker run -it --rm -v /opt/docker/alpine-py/:/alpine-py --name alpine-py alpine-py27 python /alpine-py/hello-world.py
hello world
【To be continue...】
网友评论