場景描述: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. 重啓容器,若是啓動後,提示有些附件沒法加載或者報錯,刪掉舊庫,從新建庫。