Feng’ Blog

Centos7安装Docker
安装Docker及docker-composeyum install -y docker docker-compo...
扫描右侧二维码阅读全文
28
2019/01

Centos7安装Docker

docker2019.png

安装Docker及docker-compose

yum install -y docker docker-compose  # 安装
systemctl enable docker    # 开机自动启动docker
systemctl start docker     # 启动docker
systemctl restart docker   # 重启dokcer
systemctl stop docker      # 停止

验证docker是否安装成功

docker run --rm hello-world
设置Docker 加速 阿里云:https://cr.console.aliyun.com/#/accelerator
>>: cd /etc/docker
>>: vim daemon.json 

在文件中粘贴下面内容:

{ "registry-mirrors": ["https://wkumpv63.mirror.aliyuncs.com"]}

最后重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker

以下信息来自官网文档:

此映像需要运行PostgreSQL服务器。

启动PostgreSQL服务器

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

启动一个Odoo实例

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

运行Postgres的容器的别名必须是db才能使Odoo能够连接到Postgres服务器。

停止并重新启动Odoo实例

$ docker stop odoo
$ docker start -a odoo

停止并重新启动PostgreSQL服务器

重新启动PostgreSQL服务器时,必须重新启动链接到该服务器的Odoo实例,因为服务器地址已更改且链接因此中断。

重新启动PostgreSQL服务器不会影响创建的数据库。

使用自定义配置运行Odoo

服务器的默认配置文件(位于/etc/odoo/odoo.conf)可以在启动时使用卷覆盖。假设你有一个自定义配置/path/to/config/odoo.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配置文件

[options]
addons_path = /mnt/extra-addons
data_dir = /var/lib/odoo
; admin_passwd = admin
; csv_internal_sep = ,
; db_maxconn = 64
; db_name = False
; db_template = template1
; dbfilter = .*
; debug_mode = False
; email_from = False
; limit_memory_hard = 2684354560
; limit_memory_soft = 2147483648
; limit_request = 8192
; limit_time_cpu = 60
; limit_time_real = 120
; list_db = True
; log_db = False
; log_handler = [':INFO']
; log_level = info
; logfile = None
; longpolling_port = 8072
; max_cron_threads = 2
; osv_memory_age_limit = 1.0
; osv_memory_count_limit = False
; smtp_password = False
; smtp_port = 25
; smtp_server = localhost
; smtp_ssl = False
; smtp_user = False
; workers = 0
; xmlrpc = True
; xmlrpc_interface = 
; xmlrpc_port = 8069
; xmlrpcs = True
; xmlrpcs_interface = 
; xmlrpcs_port = 8071

挂载自定义插件

您可以在Odoo容器中安装自己的Odoo插件 /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),必须在Odoo中设置设置 - >参数 - >系统参数(需要技术特性),web。 base.url到容器端口(例如127.0.0.1:8069)。

环境变量

调整这些环境变量以轻松连接到postgres服务器:

  • HOST:postgres服务器的地址。如果您使用了postgres容器,请设置为容器的名称。默认为db
  • PORT:postgres服务器正在侦听的端口。默认为5432
  • USER:Odoo将与之连接的postgres角色。如果您使用了postgres容器,请将其设置为相同的值POSTGRES_USER。默认为odoo
  • PASSWORD:Odoo将与之连接的postgres角色的密码。如果您使用了postgres容器,请将其设置为相同的值POSTGRES_PASSWORD。默认为odoo

Docker撰写示例

最简单的docker-compose.yml文件是:

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

如果默认的postgres凭据不适合您,请调整环境变量:

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_USER=odoo
      - POSTGRES_PASSWORD=myodoo
      - POSTGRES_DB=postgres

这是最后一个示例,向您展示如何安装自定义插件,如何使用自定义配置文件以及如何使用Odoo和postgres数据目录的卷:

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_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
Last modification:January 30th, 2019 at 08:43 am
If you think my article is useful to you, please feel free to appreciate

One comment

  1. sssss

    路过........

Leave a Comment