Docker Odoo14 + Postgres12 + PGAdmin4 从零开始使用docker部署odoo服务

1 安装docker环境

环境安装略过,但要说明一点,docker的容器是运行在一个内置的linux中的,这也是为什么docker要求windows上安装WSL(windows subsystem linux)的原因。

下面会用到的参数说明:

参数说明
-d (--detach)在后台静默运行容器

-p (--publish)

将指定的容器端口发布映射到宿主机,格式: 宿主机端口:容器端口
-P (--publish-all)

将容器中所有已被暴露的端口发布映射到宿主机(随机分配,避免端口冲突)

-v (--volume)将宿主机目录挂载到容器里,格式: 宿主机目录:容器目录
-e (--env)设置环境变量
--name为容器分配一个名称
--link链接添加到另一个容器

其他参数,请查阅官方文档进行详细了解。

2 拉取postgres、pgadmin4及odoo的docker镜像

docker pull postgres:12
docker pull dpage/pgadmin4
docker pull odoo:14

在上面的三条拉取镜像的指令中, 有两条(postgres和odoo的镜像)使用【 : 】指定了镜像版本,dpage/pgadmin4 没有指定拉取版本,docker会默认拉取最新版本。

3 运行容器,启动postgres数据库服务

docker run -d -p 15432:5432 --name postgresql_12 -v pgdata:/var/lib/postgresql/data -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres postgres:12

这里为postgres:12镜像跑起来后的容器,分配了名称 postgresql_12,并将这个容器的端口号5432(冒号后面的是容器端口)映射到主机端口15432(冒号前的事宿主机端口)。

需要注意的一点是,run的时候也要指定镜像版本,不然docker会去拉去最新的版本,进行run。

4 运行容器,启动odoo服务

docker run -d -p 18069:8069 --name odoo_14 -v /var/odoo14_addons:/mnt/extra-addons --link postgresql_12:db odoo:14

这里的容器 odoo_14 作为源容器, postgresql_12 作为目标容器,通过 --link 进行安全链接。

此时访问 http://127.0.0.1:18069 即进入ODOO界面。


5 运行容器,启动pgadmin服务

docker run -d --name pgadmin4 -p 15050:80 -e PGADMIN_DEFAULT_EMAIL=zerone40@163.com -e PGADMIN_DEFAULT_PASSWORD=123 -e PGADMIN_CONFIG_ENHANCED_COOKIE_PROTECTION=True   -e PGADMIN_CONFIG_CONSOLE_LOG_LEVEL=10 dpage/pgadmin4

通过-e设置环境变量,以传递登录邮箱、登录密码已经一些其他的数据库配置。注意,这里跑的镜像是没有指定版本的哦。

5 使用pgadmin链接postgres

以上pgadmin服务启动后,稍等会。然后从浏览器访问 http://localhost:15050端口,进入登录页面,使用上面设置的邮箱和密码进行登录。

这里需要注意,主机名称/地址 一项,需要填写 host.docker.internal 因为pgadmin运行在docker中,所以这里不能写localhost或127.0.0.1。这里除了 host.docker.internal 还能填写宿主机IP。

用户名填写postgres,这是默认的(如果在第三部中,指定了环境变量POSTGRES_USER,比如POSTGRES_USER=odoo14,这里的用户名就要填写odoo14),密码填写第3步中,设置的POSTGRES_PASSWORD,也就是postgres。端口号填写映射到宿主机的端口 15432

保存即可看到已创建了服务器连接。

补充:运行多个odoo实例

docker run -d -p 18070:8069 --name odoo14_01 --link postgresql_12:db odoo:14
docker run -d -p 18071:8069 --name odoo14_02 --link postgresql_12:db odoo:14

 再补充:数据库 db_filter隔离

docker run -d -p 18072:8069 --name odoo14_03 --link postgresql_12:db --dbfilter=odoo_db_03
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值