本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

Odoo Docker镜像是基于官方Odoo开源企业资源规划(ERP)和客户关系管理(CRM)平台构建的容器化部署方案。该镜像旨在简化Odoo的安装、配置和运行流程,通过容器化技术确保环境一致性、隔离性和可移植性,适用于开发、测试、演示及小型生产环境。
Odoo集成了销售、采购、库存、会计、人力资源等企业管理模块,Docker镜像则进一步降低了其部署门槛,用户无需手动配置依赖(如Python环境、数据库等),可快速启动完整的Odoo服务。
16.0、17.0),适配不同用户需求。快速搭建本地开发环境,隔离不同项目的Odoo版本和依赖,支持模块开发调试。
验证Odoo新版本功能、自定义模块兼容性或配置变更,测试完成后可快速销毁容器,不影响主机环境。
适用于中小企业或团队,通过Docker Compose管理Odoo与PostgreSQL容器,简化运维流程。
快速启动临时Odoo实例,用于产品演示、员工培训或教学场景,降低部署成本。
docker run命令)通过docker run直接启动Odoo容器(需提前准备PostgreSQL数据库,或使用外部数据库)。
docker run -d \ --name odoo \ -p 8069:8069 \ # 映射Odoo默认端口(HTTP) -e ODOO_DB_HOST=192.168.1.100 \ # 外部PostgreSQL主机IP/域名 -e ODOO_DB_PORT=5432 \ # PostgreSQL端口(默认5432) -e ODOO_DB_USER=odoo \ # 数据库用户名 -e ODOO_DB_PASSWORD=odoo_db_pass \ # 数据库密码 -e ODOO_DB_NAME=odoo_prod \ # 数据库名称(若不存在将自动创建) -v odoo_data:/var/lib/odoo \ # 挂载数据卷(持久化Odoo数据) odoo:17.0 # 指定镜像版本(如17.0)
推荐通过Docker Compose管理Odoo与PostgreSQL容器,简化多容器协作。
docker-compose.yml文件version: '3.8' services: odoo: image: odoo:17.0 container_name: odoo restart: always ports: - "8069:8069" # HTTP端口 - "8072:8072" # 长轮询端口(可选,用于实时通知) environment: - ODOO_DB_HOST=db # 数据库服务名(与PostgreSQL服务名一致) - ODOO_DB_PORT=5432 - ODOO_DB_USER=odoo # 数据库用户名(需与PostgreSQL配置一致) - ODOO_DB_PASSWORD=odoo_db_pass # 数据库密码 - ODOO_ADMIN_PASSWORD=admin_pass # Odoo管理员密码(首次登录使用) - LOG_LEVEL=info # 日志级别(debug/info/warn/error) volumes: - odoo_data:/var/lib/odoo # Odoo数据持久化 - ./addons:/mnt/extra-addons # 挂载自定义模块目录(本地路径) - ./config:/etc/odoo # 挂载自定义配置文件(可选) depends_on: - db # 依赖PostgreSQL服务,确保数据库先启动 db: image: postgres:14 # Odoo 17推荐PostgreSQL 14(版本需匹配) container_name: odoo_db restart: always environment: - POSTGRES_USER=odoo # 数据库用户名(需与Odoo配置一致) - POSTGRES_PASSWORD=odoo_db_pass # 数据库密码 - POSTGRES_DB=postgres # 初始数据库名称(Odoo会自动创建目标库) volumes: - postgres_data:/var/lib/postgresql/data # 数据库数据持久化 healthcheck: test: ["CMD-SHELL", "pg_isready -U odoo"] # 健康检查:验证数据库是否就绪 interval: 10s timeout: 5s retries: 5 volumes: odoo_data: # Odoo数据卷(自动创建) postgres_data: # PostgreSQL数据卷(自动创建)
在docker-compose.yml所在目录执行:
docker-compose up -d # 后台启动服务
docker-compose down # 停止并删除容器(数据卷保留) # 如需删除数据卷(谨慎操作):docker-compose down -v
Odoo容器支持通过环境变量配置核心参数,常用变量如下:
| 环境变量名 | 说明 | 默认值 | 示例值 |
|---|---|---|---|
ODOO_DB_HOST | PostgreSQL数据库主机IP/域名 | db | 192.168.1.100 |
ODOO_DB_PORT | PostgreSQL端口 | 5432 | 5433 |
ODOO_DB_USER | 数据库用户名 | odoo | odoo_admin |
ODOO_DB_PASSWORD | 数据库密码 | - | StrongPass123! |
ODOO_DB_NAME | 目标数据库名称(不存在则自动创建) | odoo | odoo_production |
ODOO_ADMIN_PASSWORD | Odoo管理员密码(首次登录使用) | - | Admin@2024 |
LOG_LEVEL | 日志级别 | info | debug |
ODOO_SSL | 是否启用SSL(True/False) | False | True |
WORKERS | 工作进程数(建议:CPU核心数×2+1) | 自动计算 | 4 |
为避免容器销毁后数据丢失,需挂载以下目录作为数据卷:
| 容器内路径 | 用途 | 建议挂载方式 |
|---|---|---|
/var/lib/odoo | Odoo核心数据(数据库缓存、附件等) | Docker命名卷(如odoo_data) |
/mnt/extra-addons | 自定义模块目录 | 主机目录(如./addons) |
/etc/odoo | 配置文件目录(如odoo.conf) | 主机目录(如./config) |
若需修改Odoo核心配置(如SMTP邮件服务器、日志路径等),可通过挂载自定义odoo.conf文件实现:
在主机创建配置文件(如./config/odoo.conf),内容示例:
[options] admin_passwd = Admin@2024 # 管理员密码(优先级高于环境变量) db_host = db db_port = 5432 db_user = odoo db_password = odoo_db_pass logfile = /var/log/odoo/odoo.log # 日志路径 addons_path = /usr/lib/python3/dist-packages/odoo/addons,/mnt/extra-addons # 模块路径(默认+自定义) smtp_server = smtp.example.com # SMTP服务器 smtp_port = 587 smtp_user = *** smtp_password = smtp_pass
在docker-compose.yml中挂载该文件:
volumes: - ./config/odoo.conf:/etc/odoo/odoo.conf # 直接挂载单个配置文件
将自定义模块(.zip或解压后的文件夹)放入主机./addons目录(需与/mnt/extra-addons挂载路径对应),然后在Odoo后台「应用」→「应用商店」→「更新应用列表」,即可看到并安装模块。
通过Odoo后台「应用」搜索模块名称(如“销售管理”),点击「安装」即可自动下载并启用。
docker run -d \ --name odoo_demo \ -p 8069:8069 \ -e ODOO_DB_HOST=10.0.0.5 \ -e ODOO_DB_PORT=5432 \ -e ODOO_DB_USER=demo_user \ -e ODOO_DB_PASSWORD=demo_pass \ -e ODOO_DB_NAME=demo_db \ -e ODOO_ADMIN_PASSWORD=demo_admin \ -v odoo_demo_data:/var/lib/odoo \ odoo:17.0
version: '3.8' services: odoo: image: odoo:17.0 restart: always ports: - "80:8069" # HTTP端口(可通过Nginx反向代理SSL) - "443:8072" # HTTPS端口(需配置SSL证书) environment: - ODOO_DB_HOST=db - ODOO_DB_PORT=5432 - ODOO_DB_USER=odoo_prod - ODOO_DB_PASSWORD=ProdPass@2024 - ODOO_DB_NAME=odoo_prod - ODOO_ADMIN_PASSWORD=Admin@Prod2024 - LOG_LEVEL=warn - ODOO_SSL=True - WORKERS=8 # 假设主机为4核CPU volumes: - odoo_data:/var/lib/odoo - ./addons:/mnt/extra-addons - ./config:/etc/odoo - ./ssl:/etc/odoo/ssl # 挂载SSL证书(如fullchain.pem、privkey.pem) - ./backups:/var/backups/odoo # 备份目录 depends_on: db: condition: service_healthy db: image: postgres:14 restart: always environment: - POSTGRES_USER=odoo_prod - POSTGRES_PASSWORD=ProdPass@2024 - POSTGRES_DB=postgres volumes: - postgres_data:/var/lib/postgresql/data - ./db_backups:/var/backups/postgres # 数据库备份目录 healthcheck: test: ["CMD-SHELL", "pg_isready -U odoo_prod"] interval: 10s timeout: 5s retries: 5 # 可选:添加定时备份服务(如使用postgres-backup容器) db_backup: image: prodrigestivill/postgres-backup-local restart: always depends_on: - db environment: - POSTGRES_HOST=db - POSTGRES_USER=odoo_prod - POSTGRES_PASSWORD=ProdPass@2024 - POSTGRES_DB=odoo_prod - BACKUP_DIR=/backups - BACKUP_SUFFIX=-%Y%m%d_%H%M%S - BACKUP_KEEP_DAYS=7 # 保留7天备份 volumes: - ./db_backups:/backups volumes: odoo_data: postgres_data:
odoo_data和postgres_data卷,避免数据丢失。WORKERS参数(公式:WORKERS = 2×CPU核心数 + 1)。
免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429