场景描述:linux
镜像来源,dockerhub odoo官方镜像:https://hub.docker.com/_/odoodocker
odoo镜像运行一段时间后,出现下述异常,多是触发某个未知bug;该现象在生产部署的时候出现过一次,为防止再次出现,记录以下分析及处理过程。数据库
执行命令:docker exec -u root -it odoo /bin/bashapi
日志出现以下错误,没法进入容器:bash
OCI runtime exec failed: exec failed: container_linux.go:345: starting container process caused "exec: \"/bin/bash\": permission denied": unknown
尝试命令:docker restart odoo即:docker odoo不能正常启动,app
没有输出错误,可是: docker ps 看不到运行中的容器。post
处理过程:url
参考地址:spa
https://blog.csdn.net/kai172142xiang/article/details/81436485.net
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路径
5. 重启容器,若是启动后,提示有些附件没法加载或者报错,删掉旧库,从新建库。