首先说明一下,我是在ubuntu下操作的,阿里云。我尽量写的更简洁一点。
启动postgresql
docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo --name db postgres:10.0
参数说明: -d是后台运行, -e是设置psql的用户名密码, --name是指定psql容器的别名, 最后是指定版本。
启动odoo
docker run -p 8069:8069 --name odoo --link db:db -t odoo:12.0
参数说明: -p 是指定odoo容器对外的映射端口, --link是连接 前面的psql的别名 db, -t 是启动的时候分配一个伪终端并绑定到容器的标准输入上,最后是odoo的版本号。
这里指定的端口跟odoo默认的是一致的,去访问一下看看是否成功:
youhost:port
运行成功啦,这里的主机是我绑定的域名,朋友们记得换成自己部署的主机哦。
挂载本地odoo data和addons目录
docker run -p 8069:8069 --name odoo --link db:db --mount type=bind,source=/local/data,target=/var/lib/odoo --mount type=bind,source=/local/myaddons,target=/mnt/extra-addons -t odoo:12.0
先看一下我当前的目录情况
成功启动,没有报错,说明挂载目录是没有问题的,现在去测试一下:
挂载成功,自己开发的模块可以放在挂载的addons目录啦。
另外,补充一下docker的内容:
docker start odoo # 启动odoo服务 odoo为第一次启动时指定的别名
docker stop odoo # 停止odoo服务
docker restart odoo # 重启
docker logs -f odoo # 查看日志信息
docker ps # 容器进程
docker rm odoo # 删除odoo容器
docker images # docker镜像列表
docker rmi odoo # 删除odoo镜像
ssh进入容器
docker ps
docker exec -it odoo /bin/bash # 交互式终端
docker exec -it odoo <命令> # 不进入容器,直接对容器执行指定的命令
最后,前面贴出的命令直接运行就好,不需要pull! 不存在会自动pull的。
挂载可能会出现的问题:目录权限不够,建议修改一下两个目录的权限。