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

Bitnami Odoo Helm Chart使用Init Container拉取Addons失败求助

解决方案

根因说明

  • 第一次报错是持久卷挂载的/bitnami/odoo目录已存在Odoo运行生成的系统文件,git默认无法直接向非空目录克隆仓库
  • 第二次报错是因为volumeMount配置了subPath: addons,相当于把持久卷的addons子目录直接覆盖了容器的/bitnami/odoo根路径,导致路径下原有的conf、data等必要系统目录丢失,主容器启动找不到配置文件

可行配置方案

方案1:基于原Odoo镜像调整(兼容现有配置)

调整init容器配置,直接克隆到addons下的独立子目录,同时增加权限修复逻辑,避免主容器无法读取插件文件:

initContainers:
  - name: git-hr-attendance
    image: bitnami/odoo
    command: ["/bin/sh","-c"]
    args:
      - |
        apt-get -y update && apt-get -y install git
        TARGET_DIR="/bitnami/odoo/addons/hr-attendance"
        if [ -d "$TARGET_DIR/.git" ]; then
          cd $TARGET_DIR && git pull
        else
          git clone https://github.com/OCA/hr-attendance $TARGET_DIR
        fi
        chown -R 1001:1001 $TARGET_DIR
    securityContext:
      runAsUser: 0
    volumeMounts:
      - name: odoo-data
        mountPath: /bitnami/odoo

注:加securityContext.runAsUser: 0是为了获取root权限执行apt安装和权限修改操作,Bitnami Odoo默认运行用户为1001,所以最后要把插件目录权限改回1001避免读取报错

方案2:使用轻量Git镜像(更优)

不需要每次init容器都执行apt安装操作,直接用官方Git镜像作为init容器运行环境,启动速度更快:

initContainers:
  - name: git-hr-attendance
    image: bitnami/git:latest
    command: ["/bin/sh","-c"]
    args:
      - |
        TARGET_DIR="/bitnami/odoo/addons/hr-attendance"
        if [ -d "$TARGET_DIR/.git" ]; then
          cd $TARGET_DIR && git pull
        else
          git clone https://github.com/OCA/hr-attendance $TARGET_DIR
        fi
        chown -R 1001:1001 $TARGET_DIR
    volumeMounts:
      - name: odoo-data
        mountPath: /bitnami/odoo

配置后启动Odoo主容器,在Odoo后台应用列表中点击更新应用列表,即可搜索到hr-attendance相关插件启用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 18:48:02