Docker搭建Robot Framework环境

简介: 基础镜像选择Alpine Linux,关于Alpine的介绍参见Alpine Docker 安装 bash。Dockerfile内容如下:FROM alpine:3.

基础镜像选择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

# 加--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就可以了;
    img_aa5e3db2c0e3122fbc971c09422eceec.png
    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...】

相关文章
|
25天前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
97 5
|
3月前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
263 16
|
5月前
|
消息中间件 监控 Docker
Docker环境下快速部署RabbitMQ教程。
就这样,你成功地用魔法召唤出了RabbitMQ,还把它和你的应用程序连接了起来。现在,消息会像小溪流水一样,在你的系统中自由流淌。别忘了,兔子们不喜欢孤独,他们需要你细心的关怀,不时地监控它们,确保他们的世界运转得井井有条。
329 18
|
4月前
|
弹性计算 关系型数据库 Nacos
低配阿里云 ECS 如何 docker 环境部署 NACOS : 单机版模式
NACOS 单机版 Docker 安装指南。使用指定端口和 custom.env 配置文件启动 Nacos 服务,适用于 2.X 版本,包含 gRPC 支持及 MySQL 数据源配置。 -e MODE=standalone \
395 5
|
5月前
|
消息中间件 监控 Docker
Docker环境下快速部署RabbitMQ教程。
至此,这次神秘而简明的部署之旅告一段落。祝你在利用RabbitMQ打造消息队列时,一切顺风顺水!
229 8
|
4月前
|
存储 缓存 Serverless
【Azure Container App】如何在Consumption类型的容器应用环境中缓存Docker镜像
在 Azure 容器应用的 Consumption 模式下,容器每次启动均需重新拉取镜像,导致冷启动延迟。本文分析该机制,并提出优化方案:使用 ACR 区域复制加速镜像拉取、优化镜像体积、设置最小副本数减少冷启动频率,或切换至 Dedicated 模式实现镜像缓存,以提升容器启动效率和应用响应速度。
124 0
|
5月前
|
Ubuntu 机器人 开发者
Docker环境下的ROS Noetic:Ubuntu 20.04 系统下的解决方案
这就是在Docker环境下安装ROS Noetic在Ubuntu 20.04系统的一种简单方法,希望能对你有所帮助。
627 16
|
7月前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
340 28
|
6月前
|
算法 Shell 定位技术
在Docker环境下搭建openvslam/orb_slam3的步骤和问题总结
总的来说,搭建openvslam或orb_slam3的过程需要一些耐心和技术知识,但只要你遵循上述步骤,并且在遇到问题时进行适当的调试,你应该能够成功搭建并运行openvslam或orb_slam3。
269 11