1.Odoo安装(Docker版)

1.1前言

        这里安装直接用Docker安装,因为它比较方便和快捷。Odoo的镜像路径在这里

1.2简介

        Odoo(以前称为OpenERP)是一套开源商业应用程序。

1.3Docker拉取镜像的命令

docker pull odoo

1.4详细说明

1.4.1支持的标签及对应的Dockerfile链接

1.4.2参考

  • 获得帮助

the Docker Community Forumsthe Docker Community Slack或者Stack Overflow

  • 提问题

https://github.com/odoo/docker/issues

  • 维护者

Odoo

amd64

  • 发布镜像细节

repo-info repo's repos/odoo/ directory (history)

  • 镜像更新

official-images PRs with label library/odoo
official-images repo's library/odoo file (history)

  • 描述的源地址

docs repo's odoo/ directory (history)

  • 支持的Docker版本

the latest release (down to 1.6 on a best-effort basis)

1.4.3Odoo是什么

        Odoo,从前被称为OpenERP,它是一套用Python编写的开源商业应用程序并且是根据AGPL许可证发布。这套应用程序涵盖了从网站/电子商务到制造,库存和会计的所有业务需求,所有这些都是无缝集成的。这是软件第一次成功实现这样的功能覆盖。Odoo是世界上安装最多的商业软件。Odoo被全球2.000.000用户使用,范围从非常小的公司(1个用户)到非常大的公司(30万用户)。

1.4.4如何使用镜像

        该镜像需要一个正在运行的PostgreSQL服务
启动一个PostgreSQL服务

docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo --name db postgres:9.4

运行docker ps看下PostgreSQL服务是否已经运行了

root@iZuf635go40n72xorw3fs2Z:~/docker# docker ps
CONTAINER ID        IMAGE        COMMAND        CREATED        STATUS        PORTS        NAMES
a671aa10826f        postgres:9.4        "docker-entrypoint.s…"        13 seconds ago        Up 12 seconds        5432/tcp        db

可以看到PostgreSQL服务已经起来了。


启动一个Odoo的实例

docker run -p 8069:8069 --name odoo --link db:db -t odoo

这里需要注意一下,运行的PostgreSQL服务容器的别名必须是db,这样Odoo实例才能通过别名连接到PostgreSQL服务容器。

运行docker ps查看Odoo是否启动成功:

docker ps.png

以上说明运行成功,访问一下网页看看:
odoo.png

可以看到能够正常访问网站,说明已经启动成功啦。


停止和重启Odoo实例

docker stop odoo
docker start -a odoo

停止和重启PostgreSQL服务
        当PostgreSQL服务重启时,那么连接该服务的Odoo实例也需要重启,因为PostgreSQL服务地址改变了,所以连接也被打断了。
        重新启动PostgreSQL服务器不会影响创建的数据库。


运行一个自定义配置的Odoo服务
        在启动服务时使用绑定卷可以覆盖默认的配置文件(文件位置:/etc/odoo/openerp-server.conf)。假如你在/path/to/config/openerp-server.conf有一个自定义的配置文件,然后运行下面命令进行绑定卷操作进行重写:

docker run -v /path/to/config:/etc/odoo -p 8069:8069 --name odoo --link db:db -t odoo

        请使用配置模板文件来编写你自己的配置文件,因为维护者已经在Docker容器中设置了一些运行Odoo的参数。
        你也可以直接在命令行中指定Odoo的参数。但是这些参数必须在命令行的关键字--后面出现,就像下面一样:

docker run -p 8069:8069 --name odoo --link db:db -t odoo -- --db-filter=odoo_db_.*

安装自定义插件
        Odoo插件在Docker容器中的目录位置为/mnt/extra-addons,你可以通过绑定该目录地址从而达到安装自定义插件的效果,命令如下:

docker run -v /path/to/addons:/mnt/extra-addons -p 8069:8069 --name odoo --link db:db -t odoo

运行多个Odoo实例

docker run -p 8070:8069 --name odoo2 --link db:db -t odoo
docker run -p 8071:8069 --name odoo3 --link db:db -t odoo

        请注意,当主机和容器端口不一致(如8070和8069),为了简便的使用邮件和报告等功能,其中一个需要设置,设置位置Settings->Parameters->System Parameters,web.base.url参数设为该容器端口(例如127.0.0.1:8069)。


环境变量
        为了更加轻易地连接到PostgreSQL服务,你可以调整以下的环境变量。

  • HOST:PostgreSQL服务的地址。如果你使用PostgreSQL容器,那就设置为容器的名字。默认为db
  • PORT:PostgreSQL服务监听的端口。默认为5432
  • USER:Odoo服务连接到PostgreSQL服务的用户名。如果你使用PostgreSQL容器,那就设置与POSTGRES_USER一样的值。默认为odoo
  • PASSWORD:Odoo服务连接到PostgreSQL服务对应上面用户的密码。如果你使用PostgreSQL容器,那就设置与POSTGRES_PASSWORD一样的值。默认为odoo

使用Docker compose一键部署Odoo
        配置一个最简单的docker compose运行文件docker-compose.yml

version: '2'
services:
        web:
                image: odoo:10.0
                depends_on:
                        - db
                ports:
                        - "8069:8069"
        db:
                image: postgres:9.4
                environment:
                        - POSTGRES_PASSWORD=odoo
                        - POSTGRES_USER=odoo

        如果默认的PostgreSQL服务认证不适合你,你可以对环境参数进行调整:

version: '2'
services:
        web:
                image: odoo:10.0
                depends_on:
                        - mydb
                ports:
                        - "8069:8069"
                environment:
                        - HOST=mydb
                        - USER=odoo
                        - PASSWORD=myodoo
        mydb:
                image: postgres:9.4
                environment:
                        - POSTGRES_PASSWORD=odoo
                        - POSTGRES_USER=myodoo

        这里还有一个最新的例子,例子中包含了如何绑定自定义插件,如何使用自定义配置文件和如何对odoo和PostgreSQL数据文件进行绑定卷:

version: '2'
services:
        web:
                image: odoo:10.0
                depends_on:
                        - db
                ports:
                        - "8069:8069"
                volumes:
                        - odoo-web-data:/var/lib/odoo
                        - ./config:/etc/odoo
                        - ./addons:/mnt/extra-addons
        db:
                image: postgres:9.4
                environment:
                        - POSTGRES_PASSWORD=odoo
                        - POSTGRES_USER=odoo
                        - PGDATA=/var/lib/postgresql/data/pgdata
                volumes:
                        - odoo-db-data:/var/lib/postgresql/data/pgdata
volumes:
        odoo-web-data:
        odoo-db-data:

        想要启动你的odoo实例,你需要先进入到创建的docker-compose.yml文件所在的目录,然后输入:

docker-compose up -d

如何升级或者说更新镜像
        Odoo镜像会定期更新,以便使用最新的版本。请注意,从一个旧的版本升级到一个新的版本,是一个非常复杂的过程,这个过程需要一个精心设计的迁移脚本(详见Odoo Enterprise Upgrade page或者community project,这两个都是致力于写这些脚本的网站)。
        假设你在一个名为old-odoo的Odoo实例上创建了数据库,现在你新下载了一个Odoo镜像,你想要让新的镜像有权力去访问old-odoo创建的数据库。
        默认情况,Odoo 8.0使用一个文件夹存储附件(位置:/var/lib/odoo/filestore/)。我们应当在运行新的Odoo实例时绑定旧的Odoo实例的卷。

docker run --volumes-from old-odoo -p 8070:8069 --name new-odoo --link db:db -t odoo
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,602评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,442评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,878评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,306评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,330评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,071评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,382评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,006评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,512评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,965评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,094评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,732评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,283评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,286评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,512评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,536评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,828评论 2 345

推荐阅读更多精彩内容