
以下是当前支持的镜像标签及其 Dockerfile 链接:
19.0-20251008, 19.0, 19, latest18.0-20251008, 18.0, 1817.0-20251008, 17.0, 17amd64、arm64v8、ppc64lerepos/odoo/ 目录(历史记录)查看(包括元数据、传输大小等)。library/odoo 标签 或 文件(历史记录)跟踪。odoo/ 目录(历史记录)Odoo(前身为 OpenERP)是一套开源业务应用套件,采用 Python 开发,基于 LGPL 许可证发布。该套件覆盖从网站/电商到制造、库存、会计等全业务流程,且各模块无缝集成,是目前功能覆盖最全面的企业软件之一。全球有超过 200 万用户使用 Odoo,涵盖从单人小微企业到 30 万用户的大型企业。
官网:[***]
使用 Odoo 镜像需配合运行中的 PostgreSQL 服务器。
先运行 PostgreSQL 容器,设置数据库用户、密码和初始数据库:
console$ docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres --name db postgres:15
通过 --link 连接到 PostgreSQL 容器(容器别名必须为 db,Odoo 才能自动识别):
console$ docker run -p 8069:8069 --name odoo --link db:db -t odoo
启动后,访问 `[***] 即可打开 Odoo。
console$ docker stop odoo
console$ docker start -a odoo
默认情况下,Odoo 的文件存储(如附件)位于容器内部,删除容器会丢失数据。推荐使用 命名卷 持久化数据:
console$ docker run -v odoo-data:/var/lib/odoo -d -p 8069:8069 --name odoo --link db:db -t odoo
odoo-data 为命名卷,即使删除容器也会保留数据,下次启动时可复用。/var/lib/odoo 需与 Odoo 配置文件中的 data_dir 一致。同理,为 PostgreSQL 数据目录挂载命名卷,避免数据库丢失:
console$ docker run -d -v odoo-db:/var/lib/postgresql/data -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres --name db postgres:15
Odoo 默认配置文件位于 /etc/odoo/odoo.conf,可通过挂载本地配置文件覆盖:
console$ docker run -v /path/to/your/config:/etc/odoo -p 8069:8069 --name odoo --link db:db -t odoo
配置文件模板参考:***模板(已包含 Docker 环境必要参数)。
在命令末尾添加 -- 后接 Odoo 参数,例如过滤数据库:
console$ docker run -p 8069:8069 --name odoo --link db:db -t odoo -- --db-filter=odoo_db_.*
将本地插件目录挂载到容器的 /mnt/extra-addons,Odoo 会自动加载:
console$ docker run -v /path/to/your/addons:/mnt/extra-addons -p 8069:8069 --name odoo --link db:db -t odoo
注意:即使没有***企业版镜像,也可通过此方式挂载 Odoo Enterprise 模块。
通过映射不同主机端口,可启动多个 Odoo 实例(均连接同一 PostgreSQL):
console$ docker run -p 8070:8069 --name odoo2 --link db:db -t odoo # 第二个实例,端口 8070 $ docker run -p 8071:8069 --name odoo3 --link db:db -t odoo # 第三个实例,端口 8071
注意:若主机端口与容器端口不同(如 8070:8069),需在 Odoo 中设置
Settings->Parameters->System Parameters(需开启开发者模式),将web.base.url设为容器端口(如127.0.0.1:8069),否则邮件、报表功能可能异常。
通过环境变量自定义 PostgreSQL 连接信息(无需修改配置文件):
| 变量名 | 说明 | 默认值 |
|---|---|---|
HOST | PostgreSQL 服务器地址(容器名或 IP) | db |
PORT | PostgreSQL 端口 | 5432 |
USER | 数据库连接用户(需与 PostgreSQL 配置一致) | odoo |
PASSWORD | 数据库连接密码(需与 PostgreSQL 配置一致) | odoo |
示例:连接自定义 PostgreSQL 服务器
console$ docker run -e HOST=192.168.1.100 -e USER=myuser -e PASSWORD=mypass -p 8069:8069 --name odoo -t odoo
使用 compose.yaml 简化多容器管理,以下是常见场景配置。
yamlservices: web: image: odoo:17.0 # 指定 Odoo 版本 depends_on: [db] # 依赖 db 服务 ports: ["8069:8069"] db: image: postgres:15 environment: - POSTGRES_DB=postgres - POSTGRES_PASSWORD=odoo - POSTGRES_USER=odoo
yamlservices: web: image: odoo:17.0 depends_on: [mydb] ports: ["8069:8069"] environment: - HOST=mydb # 连接名为 mydb 的 PostgreSQL 服务 - USER=odoo # 数据库用户 - PASSWORD=myodoo # 数据库密码 mydb: image: postgres:15 environment: - POSTGRES_DB=postgres - POSTGRES_PASSWORD=myodoo # 与 web 服务的 PASSWORD 一致 - POSTGRES_USER=odoo # 与 web 服务的 USER 一致
yamlservices: web: image: odoo:17.0 depends_on: [db] ports: ["8069:8069"] volumes: - odoo-web-data:/var/lib/odoo # Odoo 数据卷 - ./config:/etc/odoo # 挂载自定义配置(本地 ./config 目录) - ./addons:/mnt/extra-addons # 挂载自定义插件(本地 ./addons 目录) environment: - PASSWORD_FILE=/run/secrets/postgresql_password # 从 secret 文件读取密码 secrets: - postgresql_password db: image: postgres:15 environment: - POSTGRES_DB=postgres - POSTGRES_PASSWORD_FILE=/run/secrets/postgresql_password # 从 secret 文件读取密码 - POSTGRES_USER=odoo - PGDATA=/var/lib/postgresql/data/pgdata # PostgreSQL 数据路径 volumes: - odoo-db-data:/var/lib/postgresql/data/pgdata # PostgreSQL 数据卷 secrets: - postgresql_password volumes: odoo-web-data: # Odoo 数据卷(自动创建) odoo-db-data: # PostgreSQL 数据卷(自动创建) secrets: postgresql_password: file: odoo_pg_pass # 本地密码文件(仅含密码字符串)
启动命令:在 compose.yaml 所在目录执行
console$ docker compose up -d
Odoo 镜像每日更新(同步 nightly 版本)。以下步骤适用于同一主版本内的升级(如从 17.0 旧版本升级到 17.0 最新版本),跨主版本升级需参考 Odoo ***升级文档 或 OpenUpgrade 项目。
old-odoo,需保留其文件存储(Odoo 16.0+ 附件默认存储在 /var/lib/odoo/filestore/)。--volumes-from 复用旧实例的文件存储:
console$ docker run --volumes-from old-odoo -p 8070:8069 --name new-odoo --link db:db -t odoo
镜像中 Odoo 软件的许可证信息见 Odoo 源码仓库 LICENSE 文件。
Docker 镜像可能包含基础系统(如 Bash)及依赖软件,其许可证可能不同。更多信息可参考 repo-info 仓库的 odoo/ 目录。
使用前请确保遵守所有软件的许可证要求。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429