更新 docker 容器中的所有 odoo 模块

问题描述 投票:0回答:4

我正在开发 Odoo Docker 容器。我试图找到适当的命令来通过命令行更新所有模块,但徒劳无功。执行此操作的适当命令是什么?我已经把 docker restart container_name -u 全部放了,但也是徒劳的。 预先感谢!

odoo
4个回答
6
投票

如果您使用

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 中的命令。


1
投票

您的

ENTRYPOINT
中应该有一个
CMD
Dockerfile
运行
python odoo.py -u all
-u all
选项适用于 Odoo,而不是
docker restart


1
投票

打开容器控制台

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

0
投票

如果您使用 docker compose,可以通过将此行放在 odoo 服务中的 docker-compose.yml 文件中来帮助您

command: odoo -u all -d database_name

然后运行

docker compose up

docker-compose up

取决于版本。

如果更新正确,您现在可以删除文件内的行并再次运行

docker compose up -d
© www.soinside.com 2019 - 2024. All rights reserved.