oddo docker 安装

**

文档一

**

Quick reference

Supported tags and respective Dockerfile links

Quick reference (cont.)

What is Odoo?

Odoo, formerly known as OpenERP, is a suite of open-source business apps written in Python and released under the AGPL license. This suite of applications covers all business needs, from Website/Ecommerce down to manufacturing, inventory and accounting, all seamlessly integrated. It is the first time ever a software editor managed to reach such a functional coverage. Odoo is the most installed business software in the world. Odoo is used by 2.000.000 users worldwide ranging from very small companies (1 user) to very large ones (300 000 users).

www.odoo.com

logo

How to use this image

This image requires a running PostgreSQL server.

Start a PostgreSQL server

$ docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres --name db postgres:10

Start an Odoo instance

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

The alias of the container running Postgres must be db for Odoo to be able to connect to the Postgres server.

Stop and restart an Odoo instance

$ docker stop odoo
$ docker start -a odoo

Stop and restart a PostgreSQL server

When a PostgreSQL server is restarted, the Odoo instances linked to that server must be restarted as well because the server address has changed and the link is thus broken.

Restarting a PostgreSQL server does not affect the created databases.

Run Odoo with a custom configuration

The default configuration file for the server (located at /etc/odoo/odoo.conf) can be overriden at startup using volumes. Suppose you have a custom configuration at /path/to/config/odoo.conf, then

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

Please use this configuration template to write your custom configuration as we already set some arguments for running Odoo inside a Docker container.

You can also directly specify Odoo arguments inline. Those arguments must be given after the keyword -- in the command-line, as follows

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

Mount custom addons

You can mount your own Odoo addons within the Odoo container, at /mnt/extra-addons

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

Run multiple Odoo instances

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

Please note that for plain use of mails and reports functionalities, when the host and container ports differ (e.g. 8070 and 8069), one has to set, in Odoo, Settings->Parameters->System Parameters (requires technical features), web.base.url to the container port (e.g. 127.0.0.1:8069).

Environment Variables

Tweak these environment variables to easily connect to a postgres server:

  • HOST: The address of the postgres server. If you used a postgres container, set to the name of the container. Defaults to db.
  • PORT: The port the postgres server is listening to. Defaults to 5432.
  • USER: The postgres role with which Odoo will connect. If you used a postgres container, set to the same value as POSTGRES_USER. Defaults to odoo.
  • PASSWORD: The password of the postgres role with which Odoo will connect. If you used a postgres container, set to the same value as POSTGRES_PASSWORD. Defaults to odoo.

Docker Compose examples

The simplest docker-compose.yml file would be:

version: '2'
services:
  web:
    image: odoo:12.0
    depends_on:
      - db
    ports:
      - "8069:8069"
  db:
    image: postgres:10
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_PASSWORD=odoo
      - POSTGRES_USER=odoo

If the default postgres credentials does not suit you, tweak the environment variables:

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

Here's a last example showing you how to mount custom addons, how to use a custom configuration file and how to use volumes for the Odoo and postgres data dir:

version: '2'
services:
  web:
    image: odoo:12.0
    depends_on:
      - db
    ports:
      - "8069:8069"
    volumes:
      - odoo-web-data:/var/lib/odoo
      - ./config:/etc/odoo
      - ./addons:/mnt/extra-addons
  db:
    image: postgres:10
    environment:
      - POSTGRES_DB=postgres
      - 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:

To start your Odoo instance, go in the directory of the docker-compose.yml file you created from the previous examples and type:

docker-compose up -d

How to upgrade this image

Odoo images are updated on a regular basis to make them use recent releases (a new release of each version of Odoo is built every night). Please be aware that what follows is about upgrading from an old release to the latest one provided of the same major version, as upgrading from a major version to another is a much more complex process requiring elaborated migration scripts (see Odoo Enterprise Upgrade page or this community project which aims to write those scripts).

Suppose you created a database from an Odoo instance named old-odoo, and you want to access this database from a new Odoo instance named new-odoo, e.g. because you've just downloaded a newer Odoo image.

By default, Odoo 12.0 uses a filestore (located at /var/lib/odoo/filestore/) for attachments. You should restore this filestore in your new Odoo instance by running

$ docker run --volumes-from old-odoo -p 8070:8069 --name new-odoo --link db:db -t odoo

You can also simply prevent Odoo from using the filestore by setting the system parameter ir_attachment.location to db-storage in Settings->Parameters->System Parameters (requires technical features).

License

View license information for the software contained in this image.

As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).

Some additional license information which was able to be auto-detected might be found in the repo-info repository's odoo/ directory.

As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.

**

文档二

**

续:本次实例是从阿里云主机上安装的,读者结合自己服务器具体场景,不管物理机或虚拟机,方法均大同小异。不一一赘述。

一、安装Docker

  1. 确认centos系统内核版本(docker 要求 CentOS 系统的内核版本高于 3.10)
    [root@myaliyunhost ~]# uname -r
    在这里插入图片描述

  2. 安装docker
    [root@myaliyunhost ~]# yum install -y docker

  3. 启动docker
    [root@myaliyunhost ~]# systemctl start docker
    [root@myaliyunhost ~]# systemctl enable docker

  4. 查看docker版本
    [root@myaliyunhost ~]# docker version
    在这里插入图片描述

二、安装Odoo

  1. 安装postgresql数据库,拉取大象数据库镜像
    [root@myaliyunhost ~]# docker pull postgres:10.0
    在这里插入图片描述

  2. 制作并运行一个postgrds数据库容器
    [root@myaliyunhost ~]# docker run -p 5432:5432 -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo --name db postgres:10.0
    在这里插入图片描述

[注意]:2.1 启动容器时做端口映射,映射5432端口至宿主机,方便后面使用客户端工具连接数据库
2.2 数据库用户名和密码均使用odoo

  1. 安装Odoo,拉取一个Odoo镜像
    [root@myaliyunhost ~]# docker pull odoo:12
    在这里插入图片描述

  2. 制作并运行一个Odoo容器
    [root@myaliyunhost ~]# docker run -p 8069:8069 --name odoo --link db:postgres -t odoo:12
    在这里插入图片描述

三、访问odoo网站

  1. 开启防火墙
    Centos本机开放端口
    [root@myaliyunhost ~]# firewall-cmd --permanent --add-port=8069/tcp

阿里云开放端口
在这里插入图片描述

  1. 访问网站
    URL地址:http://<阿里云centos服务器IP地址>:8069/
    打开网站如下:
    在这里插入图片描述

  2. 创建数据库
    在页面中填入相关数据库信息,点击create database按钮
    在这里插入图片描述

  3. 创建完数据库后,进入odoo网站
    在这里插入图片描述

四、客户端访问postgres数据库

  1. 安装数据库连接工具 – Navicat
    <略>

  2. 或者安装数据库连接工具 – PgAdmin(按照自己使用习惯自选)
    <略>

  3. 开启防火墙
    Centos本机开放端口命令
    [root@myaliyunhost ~]# firewall-cmd --permanent --add-port=5432/tcp

    阿里云开启5432端口
    在这里插入图片描述

  4. 配置数据库连接信息 – 新建PostgreSql连接
    在这里插入图片描述

  5. 连接数据库成功
    在这里插入图片描述

安装完成!

**

文档三

**

本次介绍一下odoo在docker上的安装部署
安装docker

docker在windows和mac上一般都用desktop版,方便操作,Linux上用命令行版即可。
windows
https://docs.docker.com/docker-for-windows/install/
mac
https://docs.docker.com/docker-for-mac/install/
Odoo docker部署

odoo镜像

https://hub.docker.com/_/odoo/

启动postgres

docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo --name db postgres:10.0
启动odoo

docker run -p 8069:8069 --name odoo --link db:db -t odoo:12.0
基础docker命令

docker start odoo
docker stop odoo
docker restart odoo
docker logs -f odoo
docker ps
docker rm odoo
docker images
docker rmi odoo
ssh进入容器

docker ps
docker exec -it odoo /bin/bash
docker exec -it odoo <命令>
挂载本地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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值