Odoo快速部署 附Odoo的Docker启动脚本

前置条件

  • 请先安装好docker和dokcer-compose

docker-compose.yml

version: '2'
services:web:image: odoo:12.0depends_on:- dbports:- "8069:8069"volumes:- odoo-web-data:/var/lib/odoo- ./config:/etc/odoo- ./addons:/mnt/extra-addonsdb:image: postgres:10environment:- POSTGRES_PASSWORD=odoo- POSTGRES_USER=odoo- PGDATA=/var/lib/postgresql/data/pgdatavolumes:- odoo-db-data:/var/lib/postgresql/data/pgdata
volumes:odoo-web-data:odoo-db-data:

据说这个配置,运行时可能报错,给出一个其他博客上说修正了的docker-compose.yml配置文件

version: '3'
services:web:image: odoo:12.0depends_on:- dbports:- "8069:8069"volumes:
#挂载用:z参数,以防selinux权限出问题- ./odoo-web-data:/var/lib/odoo:z
#如果用默认配置,下面这行可以注释掉
#      - ./config:/etc/odoo- ./addons:/mnt/extra-addons
#如果使用顶级/全局volumes (top-level volumes) 下面这样写
#      - odoo-web-data:/var/lib/odoo:z
#如果采用top-level volumes,则相对路径的odoo-web-data一行需要注释掉db:image: postgres:10environment:- POSTGRES_PASSWORD=odoo- POSTGRES_USER=odoo
#一定要注意下面一行,官方文档漏掉了,如果没有这行会报错- POSTGRES_DB=postgres- PGDATA=/var/lib/postgresql/data/pgdatavolumes:- ./odoo-db-data:/var/lib/postgresql/data/pgdata:z
#本配置用相对路径,如果要用top-level volumes,则下面相应内容取消注释
#volumes:
#  odoo-web-data:
#  odoo-db-data:

运行时报错解析,检查dockerfile文件后,发现有这一行

# Set default user when running the container
USER odoo

基本可以确认,容器内的odoo用户有很大的“作案嫌疑”。以odoo用户的身份进入容器中,检查/var/lib/odoo的权限,发现是--x,只有执行,没有读写。而这个目录正是放web页面内容的地方,不能写自然http服务要卡住了。另外,在容器中,odoo的uid和gid都是101,挂载路径时,容器中目录和容器外目录的权限是一样的,但用户、组是通过id来联系的(内外可以不同名),只有挂载到容器内的目录uid和gid一样,容器内的“运行用户”才能获得正确的权限。

解决方案

1、暴力办法,找到odoo-web-data目录,修改为777权限。一定要777权限,775也不可以,除非你的用户root用户有附加gid是101

2、检查系统内有没有uid=101的用户,或是gid=101的组,如果有,恭喜,转到解决方案1;如果没有,执行如下命令

(1) sudo groupadd -g 101 odoo

(2) sudo useradd -d /home/odoo -u 101 -g 101 -s /sbin/nologin odoo

(3) 找到odoo-web-data目录,执行

sudo chown -Rf odoo:odoo odoo-web-data

不过,建议执行解决方案之前,清理掉 odoo-web-data 和 odoo-db-data 里面的内容,如果不清理,有时候还会出现Internal Server Error或者是其他奇怪的内容。

参考文章:https://blog.csdn.net/hchsdbx/article/details/86484156

Odoo快速部署 附Odoo的Docker启动脚本相关推荐

  1. 快速部署PHP Web环境(docker nginx php mysql redis)

    注:此项目已升级成 通用 docker 项目自动化部署脚本工具 先看最终效果,如下: 使用方式 debian/ubuntu/deepin: sudo wget -O /tmp/src.tar.gz h ...

  2. Docker快速部署Yearning

    Docker快速部署Yearning Yearning 准备 Docker安装Yearning 查看Yearning版本 拉取镜像 运行容器 Yearning使用 使用方法 创建数据库连接 创建权限组 ...

  3. 使用docker启动 MySQL8.0

    使用docker启动 MySQL8.0 因为mysql8对登录密码的加密方式做了调整,所以每次安装完mysql都要去翻翻教程,特此记录下,方便以后查看 docker 启动脚本 #! /bin/bash ...

  4. ET部署到docker,用docker实现快速部署ET分布式服务器(一)

    部署准备: 1.本次部署ET和在linux部署ET类似,读者请先行了解ET在linux部署参考 ET开源框架做完的项目整体部署到Linux服务器的步骤(转) - &大飞 - 博客园 2.本次部 ...

  5. idea+docker 快速部署项目

    文章目录 1 介绍 2 修改配置文件 2.1 无需证书 2.2 生成证书 安全验证 3 idea安装Docker插件并配置 1 介绍 快速将idea代码通过docker部署到服务器,运行 服务器doc ...

  6. 私活利器,docker快速部署node.js应用

    http://cnodejs.org/topic/53f494d9bbdaa79d519c9a4a 最近研究了几天docker的快速部署,感觉很有新意,非常轻量级和方便,打算在公司推广一下,解放运维, ...

  7. 使用Docker快速部署禅道V11.6版本

    使用Docker快速部署禅道V11.6版本 (一)部署禅道 docker run --name zentao_v11.5 -p 8084:80 -v /u01/zentao/www:/app/zent ...

  8. Docker快速部署PostgreSQL服务

    Docker快速部署PostgreSQL服务 快速开始 请新建一个目录postgresql,进入目录postgresql,将以下文件保存为docker-compose.yml,然后执行docker-c ...

  9. Docker+Nextcloud快速部署个人网盘

    各位大佬好,,,萌新顾北清又回来更新了,今天要快速部署一个人网盘. 有多快呢,,,5分钟吧,因为我们使用Docker部署. Docker基础可以看看我之前的博文.(点这里点这里) 那么,,,开始吧. ...

最新文章

  1. python 搭建登陆系统_Django 搭建CMDB系统完整[1](用户登录)
  2. leetcode算法题--一和零★
  3. MCMC笔记Metropilis-Hastings算法(MH算法)
  4. 在细分场景的时代,如何反欺诈和防止内外勾结?
  5. 你绝对能懂的“机器学习”(一)
  6. 接口传参为formData类型,实现文件/图片上传功能
  7. LeetCode 3:无重复字符的最长子串 思考分析
  8. 理解Node.js的event loop
  9. .Net 插入数据MySql数据库,中文乱码解决问题
  10. oracle12漏洞补丁下载,linux oracle 11g 漏洞补丁升级
  11. 青蛙跳台阶(C、Python)
  12. curl: (7) Failed connect to localhost:9200; Connection refused
  13. C++基础::便捷函数
  14. python装饰器与闭包_Python:函数装饰器和闭包
  15. Ubuntu配置Wine教程
  16. 新年寄语 —— 奋斗2018
  17. Drcom校园网认证系列(一) 抓包
  18. V4L2文档翻译(九)
  19. 黑苹果升级更新macOS 13 Ventura 问题整理
  20. webpack之css-loader

热门文章

  1. 利用httponly提升应用程序安全性
  2. adsense三种广告要屏蔽
  3. js页面文字选中后分享到新浪微博实现
  4. 深入理解Magento-第九章-修改、扩展、重写Magento代码
  5. php合成或者创建gif动画
  6. Pycharm如何导入python包
  7. 华为机试——字符串分隔
  8. JVM——Java内存模型(JMM)
  9. 接口简介 java 1614100890
  10. ktv登陆功能的实现 1216