kiwicom/tox本镜像是一个集成tox工具与多版本Python环境的Docker镜像,旨在简化Python项目的跨版本兼容性测试流程。通过预配置多个Python解释器和tox自动化测试工具,开发者无需在本地环境安装和管理多个Python版本,即可快速执行针对不同Python版本的测试用例,确保项目在目标版本范围内的兼容性。
确保项目根目录包含有效的tox.ini文件,定义测试环境与执行步骤。示例tox.ini配置:
ini[tox] envlist = py38, py39, py310 skipsdist = true # 使用本地代码而非重新打包 [testenv] deps = pytest pytest-cov commands = pytest tests/ --cov=myproject
将项目目录挂载到容器中,并执行tox命令:
bashdocker run -v $(pwd):/app -w /app [镜像名称] tox
-v $(pwd):/app:将当前目录(项目根目录)挂载到容器内的/app目录-w /app:设置容器工作目录为/app,确保tox读取项目中的tox.ini[镜像名称]:替换为实际使用的镜像标签(如tox-multi-python:latest)tox:执行tox命令,默认读取tox.ini配置并运行所有环境测试通过TOXENV环境变量指定需运行的测试环境(对应tox.ini中的envlist):
bashdocker run -v $(pwd):/app -w /app -e TOXENV=py39 [镜像名称] tox
上述命令仅执行py39环境的测试
在项目中创建docker-compose.test.yml,集成测试服务:
yamlversion: '3.8' services: tox-test: image: [镜像名称] volumes: - ./:/app working_dir: /app environment: - TOXENV=py38,py39 # 指定测试环境 command: tox
执行测试:
bashdocker-compose -f docker-compose.test.yml up
| 变量名 | 描述 | 默认值 |
|---|---|---|
TOXENV | 指定tox运行的环境列表(逗号分隔,对应tox.ini中的环境名) | tox.ini中的envlist |
TOXINI | 自定义tox配置文件路径(相对于工作目录) | ./tox.ini |
PYTHONPATH | 设置Python模块搜索路径,用于指定项目代码位置 | /app |
基础测试环境配置(保存为项目根目录tox.ini):
ini[tox] envlist = py37, py38, py39, py310, py311 # 需与镜像支持的Python版本匹配 skipsdist = true # 使用挂载的本地代码,不重新打包 [testenv] deps = # 测试依赖包 pytest>=7.0 pytest-cov>=4.0 # 项目依赖(根据实际项目修改) requests>=2.26 commands = # 测试执行命令 pytest tests/ --cov=myproject --cov-report=term
tox.ini中定义的Python环境(如py38)与镜像支持的Python版本匹配,避免因版本缺失导致测试失败tox-multi-python:3.11)探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
MacOS OrbStack 容器配置
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务