【问题标题】:Addons in Docker Odoo 13.0 not recognizedDocker Odoo 13.0 中的插件无法识别
【发布时间】:2020-12-19 06:37:25
【问题描述】:

我尝试使用最新的 (13.0) Docker 映像进行本地开发,并且我正在使用 docker 文档中的 docker-compose.yml 来启动容器:

version: '2'
services:
  web:
    image: odoo:13.0
    depends_on:
      - db
    ports:
      - "8069:8069"
    volumes:
      - ./config:/etc/odoo
      - ./addons/my_module:/mnt/extra-addons
  db:
    image: postgres:10
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_PASSWORD=odoo
      - POSTGRES_USER=odoo
      - PGDATA=/var/lib/postgresql/data/pgdata

我的 odoo.conf:

[options]
addons_path = /mnt/extra-addons
data_dir = /var/lib/odoo

我的文件结构:

├── addons
│   └── my_module
│       ├──controllers
│       ├──demo
│       ├──models
│       ├──security
│       ├──views
│       ├──__init__.py
│       └──__manifest__.py
├── config
│   └── odoo.conf
├── docker-compose.yml
└── README.md

my_module 是来自 odoo 网站的 default module strucure(带有未注释的代码),所以我假设它没有错误。

当我使用命令 docker-compose up -d 启动容器时,它会启动数据库和 odoo,而不会出现任何错误(在 docker 和浏览器控制台中),但 my_module 在应用程序中不可见。我按照 github 和 SO 上的其他问题中的建议打开了开发人员模式和更新的应用程序列表在应用程序选项卡中,但 my_module 仍然不可见。此外,如果我使用docker exec -u root -it odoo /bin/bash 登录到容器,我可以 cd 到 /mnt/extra-addons 并且我可以看到 my_module 的内容安装到容器中,所以看起来 Odoo 无法识别它?

我扫描了实习生,发现了许多类似的问题,但没有一个解决方案对我有用,所以我假设我做错了什么。

【问题讨论】:

  • 尝试查看 Odoo 的日志并寻找使用过的插件路径。如果你的路径没有被使用,Odoo 可能没有使用你的配置文件。
  • 您需要确定@CZoellner 所说的内容。你也可以覆盖 docker 的运行命令如下:docker-compose run --rm -p 8869:8069 /usr/bin/odoo --config=/etc/odoo
  • 你的__manifest__.py里面有什么
  • @CZoellner 究竟是位于日志?我在 /var/log/ 或 /var/log/odoo 中看不到任何与 odoo 相关的文件
  • @Paxmees __manifest__.py 是通用的,就像在这个 zip 中一样

标签: docker docker-compose odoo odoo-13


【解决方案1】:

经过一些研究,我最终得到了这个docker-compose.yml,它确实将自定义插件加载到我的 Docker 中:

version: '2'
services:
  db:
    image: postgres:11
    environment:
      - POSTGRES_PASSWORD=odoo
      - POSTGRES_USER=odoo
      - POSTGRES_DB=postgres
    restart: always
  odoo:
    image: odoo:13
    depends_on:
      - db
    ports:
      - "8069:8069"
    tty: true
    command: -- --dev=reload
    volumes:
      - ./addons:/mnt/extra-addons
      - ./etc:/etc/odoo
    restart: always

odoo.conf:

[options]
addons_path = /mnt/extra-addons
logfile = /etc/odoo/odoo-server.log

【讨论】:

  • 我在开发环境中使用 --dev all。阅读您的 docker-compose 文档并将 version: '2' 行更改为较新的行。它现在至少为 3,它会影响行为。 docs.docker.com/compose,我不知道它对你有什么改变,但 odoo 挑衅地为你添加了一些插件路径。 -- 参数看起来很奇怪。我认为您设法调用了完全重建,这就是为什么它现在可以工作??
猜你喜欢
  • 2017-02-03
  • 2019-05-12
  • 1970-01-01
  • 1970-01-01
  • 2021-03-23
  • 1970-01-01
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
相关资源
最近更新 更多