Odoo 19.0 Docker Desktop快速部署 和Ubuntu24上安装1panel面板

https://www.odoo.com/documentation/master/administration/on_premise.html

摘要:本文介绍了通过Docker快速部署Odoo企业管理系统的方法。首先需拉取官方Odoo 19.0镜像和PostgreSQL 13数据库镜像,然后分别启动数据库容器(配置用户名/密码/数据卷)和Odoo容器(链接数据库并映射8069端口)。最后通过浏览器访问localhost:8069完成初始化。针对Windows系统C盘空间占用问题,详细说明了如何将Docker数据从C盘迁移至D盘,包括WSL数据导出/导入、修改Docker Desktop存储路径等关键步骤,确保数据安全转移并释放C盘空间。

通过 Docker 快速部署 Odoo

使用官方 Odoo 镜像(推荐)

1. 拉取 Odoo 官方镜像(建议指定版本,如 19.0)

复制代码
docker pull odoo:19.0 

2. 拉取 PostgreSQL 镜像(Odoo 依赖的数据库)

复制代码
docker pull postgres:13

3. 启动 PostgreSQL 数据库容器

docker run -d \

--name odoo-db \

-e POSTGRES_USER=odoo \

-e POSTGRES_PASSWORD=odoo123 \

-e POSTGRES_DB=postgres \

-v odoo-db-data:/var/lib/postgresql/data \

-p 5432:5432 \

postgres:13

复制代码
docker run -d --name odoo-db -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo123 -e POSTGRES_DB=postgres -e POSTGRES_INITDB_ARGS="--encoding=UTF8 --lc-collate=C --lc-ctype=C" -e PGDATA=/var/lib/postgresql/data/pgdata -v odoo-db-data:/var/lib/postgresql/data -p 5432:5432 postgres:13

> 说明:

> - POSTGRES_USER:数据库用户名(odoo)

> - POSTGRES_PASSWORD:数据库密码(可自定义,如 odoo123)

> - POSTGRES_DB:初始数据库名(默认 postgres 即可)

> - -v:数据卷持久化,防止数据丢失

> - -p:将容器的 5432 映射到主机的 5432 端口

4. 启动 Odoo 容器并连接数据库

docker run -d \

--name odoo \

--link odoo-db:db \

-p 8069:8069 \

-e HOST=db \

-e USER=odoo \

-e PASSWORD=odoo123 \

odoo:19.0

一键获取完整项目代码

复制代码
docker run -d   --name odoo   --link odoo-db:db   -p 8069:8069  -e HOST=db   -e USER=odoo   -e PASSWORD=odoo123  odoo:19.0

> 说明:

> - --link:连接之前启动的数据库容器(名称为 odoo-db)

> - -p 8069:8069:将 Odoo 默认端口映射到主机

> - -e 参数传递数据库连接信息(与上方 POSTGRES_* 保持一致)

5. 访问 Odoo

打开浏览器,访问:http://localhost:8069

按提示设置超级管理员密码,完成初始化。

解决Docker Desktop C 盘原路径占用

一、Windows (WSL2 模式,默认) 迁移(最常用)

1. 准备工作

  • 关闭 Docker Desktop:右键托盘图标 → Quit Docker Desktop

  • 管理员身份 打开 PowerShell

  • 新建目标目录(例如 D 盘): powershell

    复制代码
    mkdir D:\Docker\wsl\data
    mkdir D:\Docker\wsl\distro

2. 停止并确认 WSL 状态

powershell

复制代码
wsl --shutdown
wsl --list -v

确保 docker-desktopdocker-desktop-data 状态都是 Stopped

3. 导出现有数据(备份)

powershell

复制代码
# 导出数据盘(镜像/容器/卷都在这里)
wsl --export docker-desktop-data D:\Docker\wsl\data\docker-desktop-data.tar

# 导出程序盘(可选,建议一起迁移)
wsl --export docker-desktop D:\Docker\wsl\distro\docker-desktop.tar

你遇到的 WSL_E_DISTRO_NOT_FOUND 错误,核心原因是当前系统里 WSL 分发版的名称不是默认的 docker-desktop-data(可能是 Docker 版本更新 / 安装方式导致名称变化)。我先帮你找到正确的分发版名称,再修正迁移步骤,确保能成功导出数据。

4. 注销原 WSL 实例(释放 C 盘空间)

powershell

复制代码
wsl --unregister docker-desktop-data
wsl --unregister docker-desktop

5. 导入到新目录(关键)

powershell

复制代码
# 导入数据盘到 D 盘
wsl --import docker-desktop-data D:\Docker\wsl\data D:\Docker\wsl\data\docker-desktop-data.tar --version 2

# 导入程序盘到 D 盘
wsl --import docker-desktop D:\Docker\wsl\distro D:\Docker\wsl\distro\docker-desktop.tar --version 2

6. 启动 Docker Desktop 验证

  • 打开 Docker Desktop,等待启动完成
  • 执行 docker images,所有镜像都在
  • 原 C 盘路径 C:\Users\<你>\AppData\Local\Docker\wsl 已被清空

一、先回答你的核心问题

清空原 C 盘路径后,镜像不会还在 C 盘 ,但你必须在设置里把 Disk image location 改成 D 盘新路径,否则 Docker Desktop 会默认重新在 C 盘创建数据目录,导致 C 盘又被占用。


二、完整操作步骤(结合你当前的设置界面)

1. 先完成 WSL 数据迁移(你已经在做的步骤)

按之前的流程,把 docker-desktop-datadocker-desktop 导出、注销、导入到 D 盘新目录(D:\Docker\wsl\dataD:\Docker\wsl\distro)。

2. 在 Docker Desktop 设置里修改路径(关键一步)

打开 Docker Desktop → Settings → Resources → Advanced

  • 点击右侧 Browse 按钮
  • 选择你迁移后的目标目录:D:\Docker\wsl
  • 点击 Apply & Restart 保存设置

这一步是告诉 Docker Desktop:"以后所有镜像、容器、数据都存在 D 盘这个位置",避免它再往 C 盘写数据。

3. 验证数据位置
  • 打开文件资源管理器,进入 D:\Docker\wsl\data,能看到 ext4.vhdx 虚拟磁盘文件(大小和你之前 C 盘的一致)
  • 原 C 盘路径 C:\Users\Administrator\AppData\Local\Docker\wsl 会被清空,不再占用空间
  • 执行 docker images,所有镜像正常显示,说明数据已完整迁移到 D 盘

三、常见误区澄清

  • ❌ 误区:"我已经把 WSL 数据导入到 D 盘了,不用改设置也没事"✅ 真相:如果不改 Disk image location,Docker Desktop 启动时会默认在 C 盘重建数据目录,导致新下载的镜像又回到 C 盘。
  • ❌ 误区:"清空 C 盘原路径后,镜像会丢失"✅ 真相:镜像已经被打包进 ext4.vhdx 并迁移到 D 盘,只要 WSL 导入成功,镜像就不会丢失。

四、最终确认

完成以上两步后:

  1. 所有已下载的镜像 :存储在 D 盘的 ext4.vhdx 虚拟磁盘中
  2. 未来新下载的镜像:Docker Desktop 会自动存到 D 盘新路径
  3. C 盘原路径不再被 Docker 占用,空间彻底释放

API 开发

Odoo 支持 API 密钥 ,并且(根据模块或设置**)可能需要这些**密钥来执行 Webservice作。

在脚本中使用API密钥的方法是简单地用密钥**替换密码。**登录仍然处于使用状态。你应该同样小心地存储API密钥 作为密码,因为它们本质上为你的用户提供相同的访问权限 账户(尽管无法通过界面登录)。

要为账户添加密钥,只需进入你的偏好设置(或我的个人资料):

然后打开账户安全标签,点击新 API 密钥:

使用API 收费的还是要收费 不太好

建议基于数据库自己研究

ubuntu24安装 1panel

第一步:更新系统

sudo apt update

sudo apt upgrade

第二步:安装1panel,运行如下命令

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh

bash 复制代码
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh

到这里,说明1panel已安装完毕,只要你服务器 的防火墙是关闭的,现在可以去上面给的地址登录了

第三步:登录测试,在浏览器 上打开刚才的地址,输入账号密码即可登录

应用商店访问不到

最好的方式上是翻墙QAQ

https://blog.csdn.net/xueyong0403/article/details/136051332

https://openclaw.club/zh-cn/guides/quick-start

15分钟快速了解 Odoo

https://blog.csdn.net/cao919/article/details/157548333?fromshare=blogdetail&sharetype=blogdetail&sharerId=157548333&sharerefer=PC&sharesource=cao919&sharefrom=from_link

相关推荐
吉普赛的歌2 小时前
【服务器】IIS, http自动跳转https
运维·服务器
艾莉丝努力练剑2 小时前
【Linux信号】Linux进程信号
linux·运维·服务器·学习·操作系统·进程·信号
齐齐大魔王2 小时前
linux-系统函数
linux·运维·microsoft
维度攻城狮2 小时前
Docker 部署 Dify,快速私有化搭建专属知识库问答
人工智能·docker·部署·dify·知识问答
XDHCOM2 小时前
DevOps是开发与运维的协作融合,并非简单取代,科普其核心价值与实践意义
运维·devops
拾贰_C2 小时前
【Ubuntu | Nvidia | installition0】Ubuntu安装Nvidia驱动
linux·运维·ubuntu
回到原点的码农2 小时前
Failed to restart nginx.service Unit nginx.service not found
运维·nginx
国冶机电安装2 小时前
监控与安防系统安装:从方案设计到落地运维的一站式技术指南
运维
杨浦老苏2 小时前
开源OSINT调查平台Flowsint的安装
网络安全·docker·可视化·群晖·osint