**git
文檔一
**github
Quick reference
Maintained by: Odooweb
Where to get help: the Docker Community Forums, the Docker Community Slack, or Stack Overflowsql
Supported tags and respective Dockerfile
links
Quick reference (cont.)
Where to file issues: https://github.com/odoo/docker/issuesdocker
Published image artifact details: repo-info repo's
repos/odoo/
directory (history) (image metadata, transfer size, etc)windowsImage updates: official-images PRs with label
library/odoo
official-images repo'slibrary/odoo
file (history)
centosSource of this description: docs repo's
odoo/
directory (history)bash
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).服務器
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 todb
.PORT
: The port the postgres server is listening to. Defaults to5432
.USER
: The postgres role with which Odoo will connect. If you used a postgres container, set to the same value asPOSTGRES_USER
. Defaults toodoo
.PASSWORD
: The password of the postgres role with which Odoo will connect. If you used a postgres container, set to the same value asPOSTGRES_PASSWORD
. Defaults toodoo
.
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.
**
文檔二
**
續:本次實例是從阿里雲主機上安裝的,讀者結合本身服務器具體場景,無論物理機或虛擬機,方法均大同小異。不一一贅述。
1、安裝Docker
-
確認centos系統內核版本(docker 要求 CentOS 系統的內核版本高於 3.10)
[root@myaliyunhost ~]# uname -r
-
安裝docker
[root@myaliyunhost ~]# yum install -y docker -
啓動docker
[root@myaliyunhost ~]# systemctl start docker
[root@myaliyunhost ~]# systemctl enable docker -
查看docker版本
[root@myaliyunhost ~]# docker version
2、安裝Odoo
-
安裝postgresql數據庫,拉取大象數據庫鏡像
[root@myaliyunhost ~]# docker pull postgres:10.0
-
製做並運行一個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
-
安裝Odoo,拉取一個Odoo鏡像
[root@myaliyunhost ~]# docker pull odoo:12
-
製做並運行一個Odoo容器
[root@myaliyunhost ~]# docker run -p 8069:8069 --name odoo --link db:postgres -t odoo:12
3、訪問odoo網站
- 開啓防火牆
Centos本機開放端口
[root@myaliyunhost ~]# firewall-cmd --permanent --add-port=8069/tcp
阿里雲開放端口
-
訪問網站
URL地址:http://<阿里雲centos服務器IP地址>:8069/
打開網站以下:
-
建立數據庫
在頁面中填入相關數據庫信息,點擊create database按鈕
-
建立完數據庫後,進入odoo網站
4、客戶端訪問postgres數據庫
-
安裝數據庫鏈接工具 – Navicat
<略> -
或者安裝數據庫鏈接工具 – PgAdmin(按照本身使用習慣自選)
<略> -
開啓防火牆
Centos本機開放端口命令
[root@myaliyunhost ~]# firewall-cmd --permanent --add-port=5432/tcp阿里雲開啓5432端口
-
配置數據庫鏈接信息 – 新建PostgreSql鏈接
-
鏈接數據庫成功
安裝完成!
**
文檔三
**
本次介紹一下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