ubuntu+docker+odoo+postgres+lnmp
参考docker官方文档 https://docs.docker.com/engine/installation/ubuntulinux/Docker
1.ubuntu 14 server 64bit install docker:http://blog.csdn.net/wangtaoking1/article/details/44179995
用root权限登入:
$ sudo su
内核支持
如果我们使用的系统是14.04之前的版本,我们需要先升级内核。
$ sudo apt-get update
$ sudo apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raring
$ sudo reboot
Docker安装
首先需要安装apt-transport-https支持和Docker库的密钥。
$ sudo apt-get install apt-transport-https
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
添加Docker的安装源安装最新版Docker。
$ sudo bash -c "echo deb https://get.docker.com/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
$ apt-get update
$ apt-get install lxc-docker
下载Ubuntu镜像
下载Ubuntu镜像,然后启动一个Container测试是否安装成功。
$ docker pull ubuntu
$ docker run -i -t ubuntu bash
成功之后,运行exit即可退出docker。
1.odoo:https://github.com/docker-library/docs/blob/master/odoo/tag-details.md
odoo:8.0
$ docker pull library/odoo@sha256:3adb97ccd938ac7e45fd0549b10eb57c3f52be31ef26b4d513441dfc4350425a
Total Virtual Size: 799.3 MB (799315247 bytes)
Total v2 Content-Length: 260.9 MB (260859286 bytes)
odoo:9.0
$ docker pull library/odoo@sha256:96ee6f563259073b1ce9bc833364ff4cb3c194ecd9f6d91dc684cc6abcf07aae
Total Virtual Size: 778.6 MB (778565851 bytes)
Total v2 Content-Length: 256.6 MB (256561691 bytes)
3.docker postgres :
$ docker pull postgres
$ docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo --name db postgres
=======================================================
Start a PostgreSQL server
$ docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo --name db postgres
Start an Odoo instance
$ docker run -p 127.0.0.1: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/openerp-server.conf) can be overriden at startup using volumes. Suppose you have a custom configuration at /path/to/config/openerp-server.conf, then
$ docker run -v /path/to/config:/etc/odoo -p 127.0.0.1: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 127.0.0.1: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 127.0.0.1:8069:8069 --name odoo --link db:db -t odoo
Run multiple Odoo instances
$ docker run -p 127.0.0.1:8070:8069 --name odoo2 --link db:db -t odoo
$ docker run -p 127.0.0.1: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).
How to upgrade this image
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 8.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 127.0.0.1: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).