我正在开发 Odoo Docker 容器。我试图找到适当的命令来通过命令行更新所有模块,但徒劳无功。执行此操作的适当命令是什么?我已经把 docker restart container_name -u 全部放了,但也是徒劳的。 预先感谢!
如果您使用
docker-compose up
命令启动服务器,那么您需要将以下行添加到 odoo 服务下的 docker-compose.yml 文件中:
command: odoo -u all -d odoo-prod
其中
odoo-prod
是您的数据库的名称。这会覆盖默认命令(只是 odoo
没有更新)并告诉 docker 在容器重新启动时更新所有模块。
或者,您也可以运行一个单独的容器来执行更新:
docker run -v [your volumes] odoo:10.0 odoo -u all -d odoo-prod
这还会使用此处所述的包含更新的命令覆盖 dockerfile 中的命令。
您的
ENTRYPOINT
中应该有一个 CMD
或 Dockerfile
运行 python odoo.py -u all
,-u all
选项适用于 Odoo,而不是 docker restart
打开容器控制台
docker exec -it odoo bash
使用其他端口更新您的模块
/usr/bin/odoo -p 8070 -d mydb -u mymodule
如果数据库位于另一个容器上
/usr/bin/odoo -p 8070 --db_host=172.17.0.2 --db_user=odoo --db_password=odoo -d mydb -u mymodule
如果您使用 docker compose,可以通过将此行放在 odoo 服务中的 docker-compose.yml 文件中来帮助您
command: odoo -u all -d database_name
然后运行
docker compose up
或
docker-compose up
取决于版本。
如果更新正确,您现在可以删除文件内的行并再次运行
docker compose up -d