如何在创建Dockerfile时包含测试

时间:2018-04-05 13:13:46

标签: python docker testing dockerfile

几个月前我创建了一个dockerfile,它创建了一个带有不同包的几个anaconda python虚拟环境的linux映像。

由于某种原因,python35中的一个模块不能再导入(GDAL),这引发了一个更大的问题:如何在编写dockerfiles时包含测试?

我想测试模块是否按预期用于不同的python环境。某些模块在安装过程中不会抛出错误,但会有一些破坏的依赖关系,因此会进行测试。

首次导入测试已经有所帮助:

在python27中

import module1 
import module2
..
import moduleN

在python35中

import module1  
import module2 
..
import moduleN

工作流程如下: 编译图像 - >运行测试 - >使用docker hub进行传播

如何在此工作流程中包含测试步骤?

[编辑]我在dockerfile中包含两行:

COPY test_python27.py /
RUN [ "/opt/anaconda3/envs/python27/bin/python", "./test_python27.py" ]

将运行python脚本。但是,docker日志不会捕获该脚本的输出。更重要的是,诸如ZeroDivisionError之类的错误不会导致构建失败。怎么解决这个问题?

0 个答案:

没有答案