ODOO随笔(一)—— Odoo 16的docker部署以及vscode环境配置

之前一直使用Odoo源码配置开发环境,安装的步骤比较多,费时。趁着升级到16版本的机会,尝试使用docker快速配置Odoo的VSCode开发环境。

1 系统环境

(1)操作系统:ubuntu 20.04  Alternative downloads | Ubuntu

(2)集成开发工具:vscode   Visual Studio Code - Code Editing. Redefined

2 docker安装

如果之前未安装docker,终端会提示:

Command 'docker' not found, but can be installed with:

sudo snap install docker     # version 20.10.17, or
sudo apt  install docker.io  # version 20.10.21-0ubuntu1~20.04.2

See 'snap info docker' for additional versions.
(1)安装docker,在终端输入:sudo apt install docker.io

(2)检查安装是否成功:sudo docker -v

输出版本信息则表示正常安装。

3 镜像拉取

(1)拉取Odoo镜像:sudo docker pull odoo:16.0

(2)拉取Postgres镜像:sudo docker pull postgres:15.0

(3)查看镜像拉取结果:sudo docker images

ODOO随笔(一)—— Odoo 16的docker部署以及vscode环境配置_第1张图片

4 启动容器

(1)启动Postgres容器:sudo docker run -d -p 5432:5432 -e POSTGRES_USER=odoo16 -e POSTGRES_PASSWORD=odoo16 -e POSTGRES_DB=postgres --name odoo16 postgres:15.0

(2)启动Odoo容器:sudo docker run -d -p 8069:8069 --name odoo16_app --link odoo16:db -t odoo:16.0

(数据库名、用户名、密码、端口等可按需更改)

在浏览器输入127.0.0.1:8069,就可以看到熟悉的Odoo页面了。

ODOO随笔(一)—— Odoo 16的docker部署以及vscode环境配置_第2张图片

5 VSCode连接容器

(1)修改用户权限

sudo chmod o+rw /var/run/docker.sock

sudo groupadd docker

sudo gpasswd -a $USER docker

newgrp docker

(2)安装docker插件:vscode扩展里,搜索“docker“。安装,侧边栏出现容器图标。

ODOO随笔(一)—— Odoo 16的docker部署以及vscode环境配置_第3张图片

在第一步事先修改了用户权限,所不会出现vscode没有权限访问容器的错误了。

通过docker插件,attach操作后可以远程查看containers和images信息。

此时odoo16和postgres15容器尚未启动,红色方框图标。

ODOO随笔(一)—— Odoo 16的docker部署以及vscode环境配置_第4张图片

鼠标在容器名上右键选择启动(先postgres,后odoo)。顺利启动后容器的红色停止图标变成了绿色三角图标。

ODOO随笔(一)—— Odoo 16的docker部署以及vscode环境配置_第5张图片

6 查看odoo运行日志及脚手架创建自定义模块

(1)查看odoo运行日志

在docker插件的odoo图标上,右键选择“View Logs”,在VSCode的终端可以看到当前Odoo容器的运行日志。

ODOO随笔(一)—— Odoo 16的docker部署以及vscode环境配置_第6张图片

(2) 脚手架创建自定义模块

 在docker插件的odoo图标上,右键选择“Attach Shell”,可以进入Odoo容器的终端。

ODOO随笔(一)—— Odoo 16的docker部署以及vscode环境配置_第7张图片

配置文件在容器中的位置是/etc/odoo/odoo.conf,可通过插件在树状结构中查看 (官方odoo镜像没有安装vim\nano等工具)。

可以发现,自定义模块在/mnt/extra-addons目录下。

ODOO随笔(一)—— Odoo 16的docker部署以及vscode环境配置_第8张图片 切换到模块目录,Odoo容器终端: cd /mnt/extra-addons

 ODOO随笔(一)—— Odoo 16的docker部署以及vscode环境配置_第9张图片

创建自定义模块,Odoo容器终端: odoo scaffold firstmodule

当前文件夹出现firstmodule模块。

ODOO随笔(一)—— Odoo 16的docker部署以及vscode环境配置_第10张图片 开发者模式,更新,在应用中检索到“firstmodule”。

ODOO随笔(一)—— Odoo 16的docker部署以及vscode环境配置_第11张图片

到此,环境配置完毕,可以自由玩耍了。

7 小结

这次使用docker配置odoo环境,在VSCode配置上卡了半天,没找到比较匹配直观的教程,记录下过程供今后使用。在走通第一遍后,效率大幅提高,五分种可以搞定,而以往源码方式的配置需要花费半个小时以上,且将来可很方便部署到生产环境。

有些不习惯的是,之前用源码部署配置方式,各类配置文件在哪个目录下可以在源码中快速找到,同时也可以查看自带的模块的代码。现在使用容器方式,目录结构就不同了,也看不到源码,心中有种空荡荡的不踏实的感觉。

8 一些补充

(1)在“docker”插件的基础上,安装“dev container”,可以更方便新增、修改、删除容器文件,就像本机操作文件一样。

ODOO随笔(一)—— Odoo 16的docker部署以及vscode环境配置_第12张图片

(2)dev container插件进入终端,提示“终端进程“/usr/sbin/nologin”启动失败(退出代码: 1)”问题

 vscode的文件--首选项--设置,搜索“terminal.integrated.shell”,将default profile:linux改为“bash”

ODOO随笔(一)—— Odoo 16的docker部署以及vscode环境配置_第13张图片


 

你可能感兴趣的:(开发环境搭建,Odoo,学习教程,docker,vscode,Odoo,ubuntu)