引言
Odoo 是一款功能强大的开源 ERP 系统,广泛应用于企业管理。本文将介绍如何在 Docker 环境中部署 Odoo 18 企业版,并使用 PostgreSQL 16 作为数据库。
环境准备
服务器已安装 Docker
打开防火墙端口(本文使用9007,9008)
已准备好 Odoo 18 企业版 和 PostgreSQL 16 的 Docker 镜像
部署步骤
1. 进入存放 Odoo 18 企业版镜像的目录
cd /path/to/directory/
2. 加载 Docker 镜像
sudo docker load -i odoo18_enterprise_v2.tar
sudo docker load -i postgres16.tar
此步骤将 Odoo 18 企业版和 PostgreSQL 16 的镜像导入 Docker。
3. 查看 Docker 镜像
docker images
4. 给镜像打标签
运行以下命令,根据 第 3 步 查到的 IMAGE ID 进行替换:
sudo docker tag <postgres16_image_id> postgres16:v1
sudo docker tag <odoo18_image_id> odoo18:enterprise_v2
例:
sudo tag 2490d47edbe0 postgres16:v1
sudo tag 7caa9fe9235e odoo18:enterprise_v2
请将 <postgres16_image_id>
和 <odoo18_image_id>
替换为 docker images
查询到的 PostgreSQL 16 和 Odoo 18 企业版的 IMAGE ID。
5. 运行 PostgreSQL 16 容器
sudo docker run -d \
-v /opt/1panel/apps/odoo18/postgres16:/var/lib/postgresql/data:rw \
-p 9008:5432 \
-e POSTGRES_USER=odoo \
-e POSTGRES_PASSWORD=odoo \
-e POSTGRES_DB=postgres \
--restart unless-stopped \
--name postgres16 postgres16:v1
此命令启动 PostgreSQL 16 容器,并设置:
数据存储目录:
/opt/1panel/apps/odoo18/postgres16(自定义)
端口映射:
9008 -> 5432
数据库用户/密码:
odoo/odoo
数据库名称:
postgres
容器崩溃或重启时自动恢复
restart unless-stopped
6. 运行 Odoo 18 企业版容器
sudo docker run -d \
-v /opt/1panel/apps/odoo18/odoo18:/mnt/extra-addons:rw \
-v /opt/1panel/apps/odoo18/data:/var/lib/odoo:rw \
-t -p 9009:8069 \
--restart unless-stopped \
--name odoo18 \
--link postgres16:db odoo18:enterprise_v2
此命令启动 Odoo 18 企业版容器,并设置:
Odoo 插件目录:
/opt/1panel/apps/odoo18/odoo18(自定义)
Odoo 数据存储目录:
/opt/1panel/apps/odoo18/data(自定义)
端口映射:
9009 -> 8069
关联 PostgreSQL 容器:
--link postgres16:db
容器崩溃或重启时自动恢复
restart unless-stopped
7. 修改 Odoo 数据存储权限
首先,查询 Odoo 容器的用户 ID 和组 ID:
sudo docker exec -it odoo18 id
然后,使用查询到的 UID:GID
修改数据存储目录权限
sudo chown -R <UID>:<GID> /opt/1panel/apps/odoo18/data/
例如:
sudo chown -R 100:101 /opt/1panel/apps/odoo18/data/
请将 <UID>
和 <GID>
替换为 docker exec -it odoo18 id
查询到的实际值。
8. 重启 Odoo 18 容器
sudo docker restart odoo18
使修改生效。
访问 Odoo 18
Odoo 18 运行后,可以通过浏览器访问:
http://<服务器IP>:9009
结论
通过上述步骤,我们成功在 Docker 环境中部署了 Odoo 18 企业版,并配置了 PostgreSQL 16 作为数据库。Odoo 现在已经可以正常使用,可进一步安装模块和进行系统配置。
##本文涉及的相关文件需自行查找,或可联系博主获取详细信息。