运维笔记--docker odoo镜像 运行异常处理

时间:2024-11-10 21:07:14

场景描述:

镜像来源,dockerhub odoo官方镜像:https://hub.docker.com/_/odoo

odoo镜像运行一段时间后,出现下述异常,可能是触发某个未知bug;该现象在生产部署的时候出现过一次,为防止再次出现,记录如下分析及处理过程。

执行命令:docker exec -u root -it odoo /bin/bash

日志出现如下错误,无法进入容器:

OCI runtime exec failed: exec failed: container_linux.go:: starting container process caused "exec: \"/bin/bash\": permission denied": unknown

尝试命令:docker restart odoo即:docker odoo不能正常启动,

没有输出错误,但是: docker ps 看不到运行中的容器。

处理过程:

参考地址:

https://blog.****.net/kai172142xiang/article/details/81436485

https://www.jianshu.com/p/b816ddbf68d0

https://www.jianshu.com/p/7b8ebd995313

上述参考地址,只是提供了几个类似异常的处理思路,多次尝试并未解决我们的问题,

于是,先采用快速重新搭建的临时方案来处理:

步骤:

1 先确认odoo容器确实没有启动

2 原数据库镜像不需要修改或删除,执行如下命令,新建odoo1容器

数据库容器提供参考,不要执行: docker run -d  -p 5432:5432 -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=******* -e POSTGRES_DB=postgres --name db -t wms_db_v2:2.0

新建odoo1容器: docker run -d -p 8069:8069 --name odoo1 --link db:db -t wms_app_v2:2.0

3. 启动后,将原odoo中的代码及docker_file文件copy到新的容器

4. 进入新容器,修改/etc/odoo/odoo.conf文件配置,指定自定义代码路径,及docker_file路径

运维笔记--docker odoo镜像 运行异常处理

5. 重启容器,如果启动后,提示有些附件无法加载或者报错,删掉旧库,重新建库。