【发布时间】: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