1.Odoo安装(Docker版)

1.1前言

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

1.2简介

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

1.3Docker拉取镜像的命令

docker pull odoo

1.4详细说明

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

  • 9.0, 9 (9.0/Dockerfile)
  • 10.0, 10 (10.0/Dockerfile)
  • 11.0, 11, latest (11.0/Dockerfile)

1.4.2参考

  • 获得帮助

the Docker Community Forums,the 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

你可能感兴趣的:(1.Odoo安装(Docker版))