前提是先安装docker,这里就不多介绍ubuntu怎么实现docker的安装了。下面直接在安装好docker的前提部署odoo
1.安装postgresql:10
docker pull postgres:10
2.配置 odoo12的数据库
docker run -d -e POSTGRES_USER=odoo12 -e POSTGRES_PASSWORD=odoo12 -e POSTGRES_DB=postgres --name db12 postgres:10
3.docker 拉取odoo12镜像并做端口映射。(完全用镜像不挂载任何自定义文件或者模块)
docker run -p 8069:8069 --name odoo12 --link db12:db -t odoo:12
docker安装完成后,会自动启动odoo服务
4.访问odoo网址,http://你的ip:8069
odoo系统画面,填写相关信息后,创建数据库
5.安装完之后,为了开发方便,可以挂载自己的模块目录
示例:将以/opt/odoo12/myaddons文件夹映射到docker容器的/mnt/extra-addons目录进行说明。
1.新建/opt/odoo12/myaddons文件夹。
mkdir /opt/odoo12/myaddons
2.移除之前配置的odoo12镜像
docker stop odoo12
docker rm odoo12
3.重新进行映射。
docker run -v /opt/odoo12/myaddons:/mnt/extra-addons -p 8069:8069 --name odoo12 --link db12:db -t odoo:12
4.验证是否成功,访问你的端口地址,检测是否挂载成功。
6.同时挂载配置文件与自定义模块。
1.创建一个自己的配置文件/opt/odoo12/odoo.conf
- db_user和db_password 分别对应第二步配置数据库时的POSTGRES_USER, POSTGRES_PASSWORD
- dbfilter用于配置二级域名,没有需求的可以不写这个
- addons_path的路径是默认的不同的是 会根据不同的odoo版本修改python的文件夹。这里配置的是odoo12,所以路径是
启动加载自定义配置文件和自定义模块
docker run -v /opt/odoo12/myaddons:/mnt/extra-addons -v /opt/odoo12/odoo.conf:/etc/odoo -p 8069:8069 --name odoo12--link db10:db -t odoo:12
7.同一个IP,配置odoo13
原理与配置odoo12类似,但是要注意一些小细节
1.配置新的数据库
docker run -d -e POSTGRES_USER=odoo13 -e POSTGRES_PASSWORD=odoo13 -e POSTGRES_DB=postgres --name db13 postgres:10
2.配置odoo13镜像,这里使用8066作为新的端口
docker run -p 8066:8069 --name odoo13 --link db13:db -t odoo:13
3.访问odoo网址,http://你的ip:8066,并创建数据库进行初始化
4.移除odoo13,并挂载自己的模块
docker stop odoo13
docker rm odoo13
docker run -v /opt/odoo13/myaddons:/mnt/extra-addons -p 8066:8069 --name odoo13 --link db13:db -t odoo:13
8. 启动odoo12,odoo13
docker restart odoo12
docker restart odoo13
9.自动运行docker
docker update --restart=always xxx