我对此并不陌生,不知道我是否在做正确的步骤。我做的第一件事是创建一个文件夹/插件,然后在该文件夹中创建了另一个文件夹/ addons / celes_app,在最后一个文件夹中,我拥有了所有文件(init.py,manifest.py等)。 然后创建以下容器:
docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres --name db postgres:10
docker run -v /addons:/mnt/extra-addons -p 8069:8069 --name odoo --link db:db -t odoo
这样做,容器创建成功。我打开浏览器并输入端口8069,它要求我创建一个新数据库,并且在创建该数据库时出现以下错误:
2018-11-28 23:45:46,936 1 INFO None odoo.service.db: Create database Prueba.
2018-11-28 23:45:47,402 1 ERROR None odoo.service.db: CREATE DATABASE
failed: Traceback (most recent call last): File "/usr/lib/python3/dist-
packages/odoo/service/db.py", line 58, in _initialize_db odoo.modules.db.initialize(cr)
File "/usr/lib/python3/dist-packages/odoo/modules/db.py", line 34, in initialize for i in odoo.modules.get_modules():
File "/usr/lib/python3/dist-packages/odoo/modules/module.py", line 408, in get_modules plist.extend(listdir(ad))
File "/usr/lib/python3/dist-packages/odoo/modules/module.py", line 401, in listdir for it in os.listdir(dir)
PermissionError: [Errno 13] Permission denied: '/mnt/extra-addons' 2018-11-28 23:45:47,
422 1 ERROR None odoo.modules.loading: Database Prueba not initialized, you can force it with -i base 2018-11-28 23:45:47,
485 1 INFO Prueba odoo.sql_db: ConnectionPool(used=0/count=0/max=64): Closed 1 connections to 'dbname=Prueba user=odoo password=xxxx host=172.17.0.2 port=5432 sslmode=prefer'
谢谢
答案 0 :(得分:1)
按照以下步骤操作,希望此解决方案对您有用-
首先通过命令挂载包含我的附加组件的本地文件夹-
$ docker run -v /path/to/your/local/folder:/mnt/extra-addons -p 8069:8069 --name odoo --link db:db -t odoo
然后通过以下方法检查您的本地文件夹是否已安装在Odoo容器上-
$ docker exec -u root -it odoo /bin/bash
现在,您已经登录(登录后)
$ cd /mnt/extra-addons
$ ls
您应该看到本地/文件夹中存在的文件。现在,只需重启您的docker odoo服务器
停止-
$ sudo docker stop db
$ sudo docker stop odoo
$ sudo service docker stop
开始-
$ sudo service docker start
$ sudo docker start db
$ sudo docker start -a odoo
现在您可以从应用程序安装模块,数据库也应该可以正常工作。