场景描述:

镜像来源,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.csdn.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路径

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

运维笔记--docker odoo镜像 运行异常处理的更多相关文章

  1. 运维笔记--Docker文件占用磁盘空间异常处理

    场景描述: 1. 服务器运行一段时间后,发现系统盘磁盘空间在不断增加,一开始的时候,不会影响系统,随着时间的推移,磁盘空间在不断增加,直到有一天你会发现系统盘剩余空间即将使用完,值得庆幸的是,如果您使 ...

  2. 运维笔记--docker高效查看后台日志

    场景描述: 应用程序运行在 Docker环境中,经常使用的查看后台日志的命令是:docker attach 容器名该命令优点:实时输出:不足之处:日志大量输出的时候,屏幕一闪而过,不便于调试,并且有一 ...

  3. 运维笔记--Docker环境ubuntu系统安装指定版本python[3.6]

    场景描述: 直接安装出现如下异常: root@ae2d02e458f3:/home# apt-get install python3.6 Reading package lists... Done B ...

  4. 新IT运维时代 | Docker运维之最佳实践-下篇

    上篇针对操作系统.主机配置.容器镜像.容器运行时四大方面分享一些Docker的运维经验,本篇将着重在Docker Daemon参数和权限两个方面进一步分享.(阅读上篇请点击右侧:新IT运维时代 | D ...

  5. Linux系统运维笔记(五),CentOS 6.4安装java程序

    Linux系统运维笔记(五),CentOS 6.4安装java程序 用eclipse编译通的java程序,现需要实施到服务器.实施步骤: 一,导出程序成jar包. 1,在主类编辑界面点右健,选  ru ...

  6. Linux系统运维笔记(四),CentOS 6.4安装 MongoDB

    Linux系统运维笔记(四),CentOS 6.4安装 MongoDB 1,下载 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6 ...

  7. Linux系统运维笔记(四),CentOS 6.4安装Nginx

    Linux系统运维笔记(四),CentOS 6.4安装Nginx 1,安装编译工具及库文件 yum -y install make zlib zlib-devel gcc-c++ libtool op ...

  8. Linux系统运维笔记(三),设置IP和DNS

    Linux系统运维笔记(三),设置IP和DNS 手工配置静态的IP地址 也就是手工配置IP地址.子网掩码.网关和DNS. vi /etc/sysconfig/network-scripts/ifcfg ...

  9. Linux系统运维笔记(二),Linux文件编辑命令

    Linux系统运维笔记 Linux文件编辑命令 首先我们使用命令 vi filename 打开一个文件,这个时候进入到的是命令模式 接下来我们按i,然后键盘随便输入写内容. 然后按ESC重新进入到命令 ...

随机推荐

  1. SqlSever 使用 CROSS APPLY 与 OUTER APPLY 连接查询

    前言 日常开发中遇到多表查询时,首先会想到 INNER JOIN 或 LEFT OUTER JOIN 等等,但是这两种查询有时候不能满足需求.比如,左表一条关联右表多条记录时,我需要控制右表的某一条或 ...

  2. 《Java并发编程的艺术》Java内存模型(三)

    Java内存模型 一.Java内存模型的基础 1.并发编程模型的两个关键问题: 两个关键问题,线程之间如何通信和如何同步.两种方式,共享内存和消息传递.Java里线程的通信是通过共享内存,线程的同步是 ...

  3. 创建JavaScript函数的几种方式

    window.onload = function() { // console.log('ok'); //正规的创建函数 function test(abc, d) { return abc(d); ...

  4. java中的Condition协作线程接口类

    在Java的Condition接口中,存在的几个方法跟Synchronized中的wait(),waitall(),wait(time ^),这个几个方法一一对应起来,但是在Lock.newCondi ...

  5. mac电脑Git提交代码到Github提示git-credential-osxkeychain 验证解决方案

    ## 啊哈哈 这个简单,直接给出当前mac电脑登录账号密码即可,^_*,拿走不谢!!

  6. java程序员随笔

    之前坚持过一段时间的博客,不过后来因为一些琐事,也因为自己的懒惰,没坚持下来.一晃本科毕业到现在已经快9年了,本科毕业的时候经常想,自己十年之后会是什么样子,那时候筹措满志,心里的每一个答案,都离现在 ...

  7. U盘安装centos7 关键步骤

    出现安装界面 按tab键或e键进行修改 一般默认第二行为: vmlinuz intrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd ...

  8. Unicode vs. UTF-8 etc.

    目测是个老问题了.随便一搜,网上各种总结过.这里不辞啰嗦,尽量简洁的备忘一下. 几个链接,有道云笔记链接,都是知乎上几个问题的摘录:阮一峰的日志,1-5 还是值得参考,但是之后的部分则混淆了 Wind ...

  9. SqlServer 连接 相关。

    sqlserver数据库连接池是一个客户端的东西.和sql server服务器无关. 各种provider默认的连接池大小不同. 比如:Ado.NET 中sqlserver 连接池默认的值是100. ...

  10. mac os 下 vs code 开发 .net core

    1.软件下载 .net core 2.0 sdk: vs code 最新版: 2.用 dotnet 命令行 dotnet cli 创建项目 打开终端,创建这次项目的文件夹,mkdir Demo1: c ...