Docker Odoo 13.0 中的插件无法识别

Addons in Docker Odoo 13.0 not recognized

我尝试使用最新的 (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 是 default module strucure 来自 odoo 网站(带有未注释的代码)所以我假设它没有错误。

当我使用命令 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 似乎无法识别它?

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

经过一些研究,我最终得到了这个 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