
girder/tox-and-node该镜像源自 GitHub 项目 girder/large_image,是一个集成了 tox 和 Node.js 的专用构建环境镜像。主要用途是为项目提供标准化的构建和测试环境,支持自动化构建流程、多环境测试及相关开发任务的高效执行。
tox.ini 定义测试矩阵,自动创建隔离环境并执行测试命令。npm/yarn)及脚本执行。通过 Docker Hub 拉取最新版本镜像:
bashdocker pull girder/large_image
挂载本地项目目录并进入容器终端,手动执行构建命令:
bashdocker run -it --rm \ -v $(pwd):/app # 挂载当前目录到容器内 /app 路径 -w /app # 设置工作目录为 /app girder/large_image \ /bin/bash # 启动 bash 终端
直接在容器中执行 Python 项目的 tox 测试(需项目根目录存在 tox.ini):
bashdocker run --rm \ -v $(pwd):/app \ -w /app \ girder/large_image \ tox -e py39 # 运行 tox 并指定环境(如 Python 3.9)
执行前端项目的依赖安装或打包(需项目根目录存在 package.json):
bash# 安装依赖 docker run --rm \ -v $(pwd):/app \ -w /app \ girder/large_image \ npm install # 执行打包脚本 docker run --rm \ -v $(pwd):/app \ -w /app \ girder/large_image \ npm run build
目前无特定预设环境变量,可通过 -e 参数传递自定义变量,例如:
bashdocker run --rm \ -e NODE_ENV=production \ # 设置 Node.js 环境为生产环境 -v $(pwd):/app \ -w /app \ girder/large_image \ npm run build
通过 -v 参数挂载本地目录(如示例中的 $(pwd):/app),确保项目文件、依赖缓存(如 node_modules、.tox)在容器重启后不丢失。
创建 docker-compose.yml 文件,定义构建服务:
yamlversion: '3' services: build-env: image: girder/large_image volumes: - ./:/app # 挂载本地项目目录 - node_modules:/app/node_modules # 持久化 npm 依赖 - .tox:/app/.tox # 持久化 tox 环境缓存 working_dir: /app command: tox # 默认执行 tox 测试(可自定义为 npm run build 等) volumes: node_modules: # 声明持久化卷(避免重复安装依赖) .tox: # 声明持久化卷(避免重复创建 tox 环境)
使用方法:在 docker-compose.yml 所在目录执行:
bash# 启动服务并执行默认命令(tox) docker-compose up # 覆盖默认命令,执行 npm 构建 docker-compose run build-env npm run build
tox.ini 或 package.json),否则容器内命令可能执行失败。node_modules、.tox)仅在使用 docker-compose 时生效,纯 docker run 需通过本地目录挂载实现缓存。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务