Odoo快速部署 附Odoo的Docker启动脚本
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启动脚本相关推荐
- 快速部署PHP Web环境(docker nginx php mysql redis)
注:此项目已升级成 通用 docker 项目自动化部署脚本工具 先看最终效果,如下: 使用方式 debian/ubuntu/deepin: sudo wget -O /tmp/src.tar.gz h ...
- Docker快速部署Yearning
Docker快速部署Yearning Yearning 准备 Docker安装Yearning 查看Yearning版本 拉取镜像 运行容器 Yearning使用 使用方法 创建数据库连接 创建权限组 ...
- 使用docker启动 MySQL8.0
使用docker启动 MySQL8.0 因为mysql8对登录密码的加密方式做了调整,所以每次安装完mysql都要去翻翻教程,特此记录下,方便以后查看 docker 启动脚本 #! /bin/bash ...
- ET部署到docker,用docker实现快速部署ET分布式服务器(一)
部署准备: 1.本次部署ET和在linux部署ET类似,读者请先行了解ET在linux部署参考 ET开源框架做完的项目整体部署到Linux服务器的步骤(转) - &大飞 - 博客园 2.本次部 ...
- idea+docker 快速部署项目
文章目录 1 介绍 2 修改配置文件 2.1 无需证书 2.2 生成证书 安全验证 3 idea安装Docker插件并配置 1 介绍 快速将idea代码通过docker部署到服务器,运行 服务器doc ...
- 私活利器,docker快速部署node.js应用
http://cnodejs.org/topic/53f494d9bbdaa79d519c9a4a 最近研究了几天docker的快速部署,感觉很有新意,非常轻量级和方便,打算在公司推广一下,解放运维, ...
- 使用Docker快速部署禅道V11.6版本
使用Docker快速部署禅道V11.6版本 (一)部署禅道 docker run --name zentao_v11.5 -p 8084:80 -v /u01/zentao/www:/app/zent ...
- Docker快速部署PostgreSQL服务
Docker快速部署PostgreSQL服务 快速开始 请新建一个目录postgresql,进入目录postgresql,将以下文件保存为docker-compose.yml,然后执行docker-c ...
- Docker+Nextcloud快速部署个人网盘
各位大佬好,,,萌新顾北清又回来更新了,今天要快速部署一个人网盘. 有多快呢,,,5分钟吧,因为我们使用Docker部署. Docker基础可以看看我之前的博文.(点这里点这里) 那么,,,开始吧. ...
最新文章
- python 搭建登陆系统_Django 搭建CMDB系统完整[1](用户登录)
- leetcode算法题--一和零★
- MCMC笔记Metropilis-Hastings算法(MH算法)
- 在细分场景的时代,如何反欺诈和防止内外勾结?
- 你绝对能懂的“机器学习”(一)
- 接口传参为formData类型,实现文件/图片上传功能
- LeetCode 3:无重复字符的最长子串 思考分析
- 理解Node.js的event loop
- .Net 插入数据MySql数据库,中文乱码解决问题
- oracle12漏洞补丁下载,linux oracle 11g 漏洞补丁升级
- 青蛙跳台阶(C、Python)
- curl: (7) Failed connect to localhost:9200; Connection refused
- C++基础::便捷函数
- python装饰器与闭包_Python:函数装饰器和闭包
- Ubuntu配置Wine教程
- 新年寄语 —— 奋斗2018
- Drcom校园网认证系列(一) 抓包
- V4L2文档翻译(九)
- 黑苹果升级更新macOS 13 Ventura 问题整理
- webpack之css-loader