在Docker上开发Odoo

我正在尝试使用docker for odoo模块进行开发。 我有以下docker-compose.yml文件

 db: image: postgres environment: POSTGRES_USER: odoo POSTGRES_PASSWORD: odoo volumes: - data:/var/lib/postgresql/data/ odoo: image: odoo links: - db:db ports: - "127.0.0.1:8069:8069" volumes: - extra-addons:/mnt/extra-addons command: -- --update=tutorial 

该模块只包含一个__openerp__.py文件,但即使使用--update=tutorial选项,odoo也不会显示我所做的更改

 { 'name': "tutorial", 'summary': """Hello world!!""", 'description': """ This is the new description """, 'author': "ybouhjira", 'website': "ybouhjira.com", 'category': 'Technical Settings', 'version': '0.1', 'depends': ["base"], } 

这个文件位于一个名为tutorial的文件夹中,位于extra-addons ,我试着停止并启动容器,甚至删除并重新创build它们。

就像shodowsjedi已经说过的,你需要创build一个__init__.py文件(参见模块结构: https ://www.odoo.com/documentation/8.0/howtos/backend.html#module-structure)。

此外,检查您的odoo容器中的权限,您的odoo卷中的文件将具有您的系统(主机)在容器(可以关联到不同的用户)的uid和gid。 要检查这个,你可以使用docker exec:

 docker exec docker_odoo_1 ls -la /mnt/extra-addons 

如果您不知道容器的泊坞窗名称,则可以使用以下方法检索它:

 docker-compose ps 

最后也可能是最重要的一个,使用以下命令来检查odoo日志:

 docker-compose logs 

并在Odoo的configuration页面(或在服务器启动时)更新你的模块,

要创build新的模块,你需要更多的Odoo清单文件__openerp__.py文件,你还需要Python描述符文件__init__.py作为最小的结构,当然你需要多于两个文件,但最小的模块存在。 一旦你在现有的数据库上创build一个模块,你需要调用更新模块列表设置正确加载你的模块,然后你就可以安装它。

  • 这里是模块创build的快速指南 。
  • 这里详细介绍API和框架 。

--update选项需要-d指定数据库名称Odoo CLI文档

你必须添加自己的configuration文件。 先在docker-compose.yml中挂载/ etc / odoo

 odoo: image: odoo links: - db:db ports: - "127.0.0.1:8069:8069" volumes: - extra-addons:/mnt/extra-addons - ./config:/etc/odoo 

然后在./config中创build“odoo.conf”并添加如下的configuration选项。

 [options] addons_path = /mnt/extra-addons,/usr/lib/python2.7/dist- packages/odoo/addons data_dir = /var/lib/odoo auto_reload = True 

重新启动odoo,进入debugging模式,然后应用程序 – >更新模块列表