轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
iterativodo/dockerdoo
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

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

dockerdoo Docker 镜像下载 - 轩辕镜像

dockerdoo 镜像详细信息和使用指南

dockerdoo 镜像标签列表和版本信息

dockerdoo 镜像拉取命令和加速下载

dockerdoo 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

dockerdoo
iterativodo/dockerdoo

dockerdoo 镜像详细信息

dockerdoo 镜像标签列表

dockerdoo 镜像使用说明

dockerdoo 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

灵活的Odoo Docker镜像,适用于docker-compose、Kubernetes和开发容器环境,支持生产和开发两种部署模式。
2 收藏0 次下载activeiterativodo镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

dockerdoo 镜像详细说明

dockerdoo 使用指南

dockerdoo 配置说明

dockerdoo 官方文档

Docker化Odoo (Dockerdoo) 镜像文档

镜像概述和主要用途

Dockerdoo是一个灵活且精简的Docker化Odoo项目,提供两种基于同一Dockerfile的部署方式:

  • 独立模式(Standalone):Odoo源代码和依赖完全包含在Docker镜像中,默认且推荐用于生产环境。
  • 宿主模式(Hosted):Odoo源代码位于宿主机(./src/odoo目录)并挂载到容器内,适用于开发场景(需直接修改Odoo核心代码时)。

该镜像与VSCode深度集成以实现快速开发和调试,只需安装Remote Containers扩展即可。

核心功能和特性

  • 双部署模式:支持生产就绪的独立模式和开发友好的宿主模式
  • 多版本多架构支持:提供Odoo 15.0、16.0、17.0、18.0及master版本,适配linux/amd64和linux/arm64架构
  • 预构建镜像:通过GitHub Actions自动构建、测试和发布,可直接拉取使用
  • 灵活配置:通过环境变量和Compose覆盖文件实现多样化部署需求
  • 开发工具集成:支持VSCode Remote Containers,便于代码调试和开发
  • 自定义模块管理:支持挂载或内置自定义Odoo模块,满足业务扩展需求

使用场景和适用范围

  • 生产环境:采用独立模式,使用预构建镜像,确保部署稳定性和一致性
  • 开发环境:采用宿主模式,挂载本地Odoo源代码,实时修改并测试核心代码
  • 多架构部署:支持amd64和arm64架构,适用于不同硬件环境
  • CI/CD集成:可与docker-compose、Kubernetes及开发容器(devcontainers)配合使用,适应现代开发流程

详细的使用方法和配置说明

预构建镜像

针对不同Odoo版本(15.0、16.0、17.0、18.0、master)和架构(linux/amd64、linux/arm64)的预构建镜像,通过GitHub Actions自动构建、测试并发布至以下仓库:

  • GitHub Container Registry:ghcr.io/iterativo-git/dockerdoo:<odoo_version>(如ghcr.io/iterativo-git/dockerdoo:17.0)
  • Docker Hub:iterativodo/dockerdoo:<odoo_version>
  • Google Container Registry:gcr.io/iterativo/dockerdoo:<odoo_version>

通常可直接拉取预构建镜像(确保Compose文件中设置image: iterativodo/dockerdoo:${ODOO_VERSION}且.env文件定义ODOO_VERSION),无需本地构建,节省时间。

快速使用步骤

1. 克隆仓库

git clone ***:iterativo-git/dockerdoo.git && cd dockerdoo

2. 配置环境

复制示例环境变量文件.env.example为.env,并调整变量值,特别是ODOO_VERSION(Odoo版本)和PSQL_VERSION(PostgreSQL版本)。

3. 独立模式(默认,生产环境)

使用预构建镜像或构建包含Odoo源代码的镜像:

# 确保.env文件中已设置ODOO_VERSION
docker-compose build # 可选:仅在不使用预构建镜像或修改Dockerfile时需要
docker-compose up -d

4. 宿主模式(开发环境)

需先将Odoo源代码克隆至./src/odoo目录:

# 克隆指定版本的Odoo源代码(以17.0为例)
git clone --depth=1 -b 17.0 ***:odoo/odoo.git src/odoo

# 确保.env文件中的ODOO_VERSION与克隆的源代码版本一致
docker-compose -f docker-compose.yml -f hosted.yml build # 通常需要构建
docker-compose -f docker-compose.yml -f hosted.yml up -d

环境要求

  • Docker(Desktop或Engine版本)
  • Docker Compose
  • Git

配置说明

环境变量(.env文件)

.env文件(从.env.example复制)是核心配置,关键变量包括:

  • ODOO_VERSION:指定Odoo版本(如17.0),必须与预构建镜像标签或宿主模式下克隆的源代码版本匹配
  • PSQL_VERSION:PostgreSQL数据库版本(如16)
  • POSTGRES_DB、POSTGRES_USER、POSTGRES_PASSWORD:数据库凭据
  • ADMIN_PASSWORD:Odoo新数据库的超级管理员密码
  • PIP_AUTO_INSTALL=1:设为1时,启动时自动安装自定义模块的Python依赖
  • UPGRADE_ODOO=1:设为1时,启动时执行odoo -u all(升级所有模块)
  • RUN_TESTS=1:设为1时,启动时运行Odoo测试(可通过WITHOUT_TEST_TAGS排除特定测试标签)
  • ODOO_RC:容器内Odoo配置文件路径(默认/etc/odoo/odoo.conf),由入口脚本根据环境变量管理

更多环境变量可查看Dockerfile和resources/entrypoint.sh文件。

构建参数

可通过--build-arg自定义Docker镜像构建:

docker-compose build --build-arg PYTHON_VERSION=3.11-slim --build-arg ODOO_VERSION=17.0

可用参数(详见Dockerfile):PYTHON_VERSION(Python版本)、OS_VARIANT(操作系统变体)、ODOO_VERSION(Odoo版本)、WKHTMLTOX_VERSION(WKHTMLToX版本)、APP_UID(应用用户ID)、APP_GID(应用用户组ID)。

Docker Compose覆盖文件

通过组合多个Compose文件实现不同配置:

  • docker-compose.yml:基础配置(独立模式)
  • hosted.yml:宿主模式覆盖(挂载./src/odoo目录)
  • dev-standalone.yml:独立模式开发工具(如--dev=all、WDB调试)
  • dev-hosted.yml:宿主模式开发工具
  • test-env.yml:运行Odoo测试配置(--test-enable --stop-after-init)

使用-f参数组合文件:

# 宿主模式开发
docker-compose -f docker-compose.yml -f hosted.yml -f dev-hosted.yml up

# 运行测试(独立模式)
docker-compose -f docker-compose.yml -f test-env.yml up

自定义模块(./custom目录)

将自定义Odoo模块放在./custom/目录的子目录中(如./custom/my_cool_module/、./custom/oca_addons/web/)。

入口脚本entrypoint.sh会运行getaddons.py,扫描${ODOO_EXTRA_ADDONS}路径(默认/mnt/extra-addons,即docker-compose.yml中挂载的./custom目录),查找包含__manifest__.py或__openerp__.py的有效模块目录,并将其添加到Odoo的addons_path配置中。

开发环境:挂载式vs内置式自定义模块

1. 挂载式模块(推荐本地开发):

  • 将自定义模块放在./custom目录(或其子目录)
  • 使用开发覆盖文件(如dev-hosted.yml或dev-standalone.yml),将./custom目录挂载到容器内/mnt/extra-addons
  • Odoo直接使用宿主机代码,本地修改实时反映到运行中的容器(视修改内容可能需要重启Odoo或执行-u升级)
  • 通常将./custom目录(或其中特定模块)添加到.gitignore,避免提交到当前仓库(若模块在单独仓库管理)

2. 内置式模块(推荐生产镜像或共享): 如需创建包含自定义模块的独立镜像,需基于Dockerdoo基础镜像构建自定义镜像:

# 添加自定义模块的示例Dockerfile
ARG ODOO_VERSION=18.0 # 替换为所需版本
FROM iterativodo/dockerdoo:${ODOO_VERSION}

# 设置标准环境变量(可被覆盖)
ENV ODOO_EXTRA_ADDONS=/mnt/extra-addons

# 切换至root用户进行安装操作
USER root

# 从本地目录复制自定义模块(假设模块在./my_addons目录)
COPY --chown=${ODOO_USER}:${ODOO_USER} ./my_addons ${ODOO_EXTRA_ADDONS}/my_addons

# 安装自定义模块的Python依赖
RUN apt-get update && apt-get install -y --no-install-recommends build-essential \
    && find ${ODOO_EXTRA_ADDONS}/my_addons -name 'requirements.txt' -exec pip3 --no-cache-dir install -r {} \; \
    && apt-get purge -y --auto-remove build-essential \
    && rm -rf /var/lib/apt/lists/*

# 切换回默认odoo用户
USER ${ODOO_USER}

构建自定义镜像:

docker build -t my-custom-odoo:latest .

更新docker-compose.yml(或生产覆盖文件)使用自定义镜像:image: my-custom-odoo:latest

SSH密钥访问

基础docker-compose.yml将宿主机~/.ssh/目录挂载到容器内/opt/odoo/.ssh/,使容器内进程(如从私有Git仓库安装Python依赖)可使用本地SSH密钥进行身份验证。

暴露端口

  • 8069:Odoo HTTP接口
  • 8072:Odoo长轮询(Longpolling)端口

项目结构

your-project/
├── resources/         # 容器内使用的脚本(entrypoint.sh、getaddons.py等)
├── src/
│   └── odoo/          # Odoo源代码(仅宿主模式需要)
├── custom/            # 自定义Odoo模块(放在子目录中)
│   ├── my_module_1/
│   └── my_module_2/
├── .github/           # GitHub Actions工作流(CI/CD)
├── .env.example       # 环境变量示例文件(复制为.env使用)
├── .env               # 本地环境变量(Git忽略)
├── Dockerfile         # Odoo镜像构建文件
├── docker-compose.yml             # 基础Compose配置
├── hosted.yml                     # 宿主模式覆盖配置
├── dev-standalone.yml             # 独立模式开发覆盖配置
├── dev-hosted.yml                 # 宿主模式开发覆盖配置
├── test-env.yml                   # 测试环境覆盖配置
└── ...                            # 其他文件(.gitignore、README.md等)

credits

主要基于以下项目的工作:

  • David Arnold(XOE Solutions)的dockery-odoo

借鉴了以下项目的思路:

  • Odoo(docker)
  • OCA(maintainer-quality-tools)
  • Ingeniería ADHOC(docker-odoo-adhoc)

开发中(WIP)

  • Swarm/Kubernetes适配(密钥管理等)
查看更多 dockerdoo 相关镜像 →

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 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 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.