You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多模块Gradle项目配置com.avast.gradle.docker-compose启动应用及排障

解决Docker Compose插件生成非法镜像标签的问题

问题分析

错误invalid tag "162ee0778db45c04b4ff6e6c2a46c5c8_functional-tests_-web": invalid reference format是因为com.avast.gradle.docker-compose插件自动生成的镜像标签违反了Docker镜像命名规范——旧版本插件处理带横杠的模块名时,容易生成包含_-这类非法字符组合的标签。

解决步骤

1. 自定义镜像标签,规避自动生成的非法格式

在functional-tests模块的build.gradle.kts中显式配置插件的镜像标签,替换自动生成的规则:

dockerCompose {
    build {
        images {
            // 替换为你docker-compose.yml中实际的服务名,自定义合法标签
            "web" to "functional-tests-web:latest"
        }
    }
}

2. 升级Docker Compose插件版本

你当前使用的0.16.12版本存在自动生成标签的bug,升级到最新稳定版可修复该问题:

plugins {
    // ... 保留其他插件
    id("com.avast.gradle.docker-compose") version "0.17.5"
}

3. 检查docker-compose.yml的build配置

确保build部分的context正确指向application模块,避免插件错误使用functional-tests模块路径生成标签:

services:
  web:
    build:
      context: ../application  # 明确指向application模块根目录
      dockerfile: Dockerfile

4. 清理旧镜像与缓存

执行以下命令清除残留的非法镜像和Gradle缓存,避免遗留问题:

docker rmi 162ee0778db45c04b4ff6e6c2a46c5c8_functional-tests_-web
./gradlew clean :functional-tests:composeDown --no-build-cache

内容的提问来源于stack exchange,提问作者Laodao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 13:00:11