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

Okteto部署Rasa聊天机器人遇Invalid compose name错误求助

问题

通过Docker+Okteto部署Rasa聊天机器人,此前运行正常,今日突然报错:

Invalid compose name: must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character

退出状态码1。已尝试将docker-compose.yaml重命名为docker-compose.yml、okteto-compose.yml,问题未解决。

相关配置文件如下:

docker-compose.yaml

version: '3.4'
services:

  rasa-server:
    image: rasa-bot:latest
    working_dir: /app
    build: "./"
    restart: always
    volumes:
    - ./actions:/app/actions
    - ./data:/app/data
    command: bash -c "rm -rf .rasa/* && rasa train && rasa run --enable-api --cors \"*\" -p 5006"
    ports:
    - '5006:5006'
    networks:
    - all

  rasa-actions-server:
    image: rasa-bot:latest
    working_dir: /app
    build: "./"
    restart: always
    volumes:
    - ./actions:/app/actions
    command: bash -c "rasa run actions"
    ports:
    - '5055:5055'
    networks:
    - all

networks:
  all:
    driver: bridge
    driver_opts:
      com.docker.network.enable_ipv6: "true"

Dockerfile

FROM python:3.7.13 AS BASE


WORKDIR /app

COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["./bot.py"]

RUN pip install --no-cache-dir --upgrade pip
RUN pip install rasa==3.3.0


ADD config.yml config.yaml
ADD domain.yml domain.yaml
ADD credentials.yml credentials.yaml
ADD endpoints.yml endpoints.yaml

okteto.yml

name: stubu4ewi
autocreate: true
image: okteto.dev/rasa-bot:latest
command: bash
volumes:
  - /root/.cache/pip
sync:
  - .:/app
forward:
  - 5006:5006
reverse:
  - 9000:9000

完整报错信息:

Found okteto manifest on /okteto/src/okteto.yml
Unmarshalling manifest...
Okteto manifest unmarshalled successfully
Found okteto compose manifest on docker-compose.yaml
Unmarshalling compose...
x  Invalid compose name: must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric characterexit 
status 1

解决方案

报错原因是Okteto校验Docker Compose项目名称时,发现名称不符合规则:必须由小写字母、数字或连字符组成,且首尾必须是字母或数字。

解决方法二选一:

  • 方法1:修改项目所在目录名
    Okteto默认会用当前目录名作为Compose项目名,如果你的目录名包含大写字母、下划线或其他特殊字符,改成符合规则的名称(比如rasa-bot-deployment)。

  • 方法2:在docker-compose.yml中显式指定项目名
    在version字段下方添加name字段,指定符合规则的项目名,示例:

    version: '3.4'
    name: rasa-bot-deployment  # 新增这一行,名称符合小写字母+连字符规则
    services:
      # 原services内容保持不变
    

说明

之前运行正常可能是因为Okteto近期更新了对Compose项目名称的校验规则,现在严格执行命名规范导致报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 15:05:17