docker/compose-desktop-module-test本镜像为专用测试镜像,旨在提供标准化环境,用于验证Docker Compose二进制文件的完整性、兼容性及运行时行为。主要用途包括:测试Compose二进制文件在不同场景下的功能正确性、验证二进制文件的版本信息及基础命令执行结果、隔离测试环境以避免对宿主系统的干扰。
sh、curl、file),便于执行测试命令及验证二进制文件属性(如文件类型、权限)。test/compose-binarieslatest(可指定特定版本标签,如v1.0)通过docker pull命令拉取镜像:
bashdocker pull test/compose-binaries:latest
将本地待测试的Compose二进制文件挂载至容器内,并执行测试命令:
bash# 假设本地Compose二进制文件路径为 ./compose docker run --rm \ -v $(pwd)/compose:/usr/local/bin/compose # 挂载本地二进制文件至容器内可执行路径 \ -e TEST_CMD="compose version && compose --help" # 测试命令:验证版本及帮助信息 \ test/compose-binaries:latest
通过环境变量COMPOSE_VERSION指定测试版本(需确保本地二进制文件与指定版本匹配):
bashdocker run --rm \ -v $(pwd)/compose-v2.20.0:/usr/local/bin/compose \ -e COMPOSE_VERSION=2.20.0 \ # 标记当前测试版本(用于日志或报告) -e TEST_CMD="compose version | grep 'v2.20.0'" # 验证版本号是否匹配 \ test/compose-binaries:latest
| 参数名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
TEST_CMD | 字符串 | 是 | 待执行的测试命令,需符合Shell语法(如compose version、compose up -d)。 |
COMPOSE_VERSION | 字符串 | 否 | 待测试的Compose版本号(仅用于标记,不影响实际二进制文件,需与挂载文件版本一致)。 |
| 挂载路径(容器内) | 说明 |
|---|---|
/usr/local/bin/compose | 需挂载本地待测试的Compose二进制文件至该路径,确保容器内可执行(文件需具备执行权限)。 |
通过docker-compose.yml定义测试服务,适用于多步骤或依赖管理的测试场景:
yamlversion: '3.8' services: compose-test: image: test/compose-binaries:latest volumes: - ./local-compose:/usr/local/bin/compose # 挂载本地二进制文件 - ./test-scripts:/scripts # 可选:挂载外部测试脚本(如批量测试命令) environment: - COMPOSE_VERSION=2.21.0 - TEST_CMD="/scripts/run-tests.sh" # 执行外部脚本中的测试命令 command: sh -c "$TEST_CMD" # 覆盖默认命令,执行环境变量指定的测试脚本
使用方法:
bash# 启动测试服务 docker-compose up # 查看测试日志 docker-compose logs
chmod +x ./compose添加)。TEST_CMD中涉及文件操作或网络请求时,需确保容器内有对应权限(如挂载宿主机目录、配置网络模式)。compose up等需要Docker daemon的操作,需挂载宿主机Docker socket(-v /var/run/docker.sock:/var/run/docker.sock)。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务