一,製做一個本身的odoo鏡像odoo:ytopython
1,下載一個odoo10的鏡像web
docker pull odoo:10.0
2,按照本身的意願修改裏面的內容sql
docker run -it -u root --name odoo-yto odoo:10.0 /bin/bash
安裝必要的軟件並用vim修改內容docker
apt-get update apt-get install -y --no-install-recommends vim iputils-ping net-tools iproute2 wget
cd /usr/lib/python2.7/dist-packages/odoo vim addons/web/views/webclient_templates.xml ls addons/web/static/src/img/logo_inverse_white_206px.png vim addons/web/static/src/xml/base.xml
vim addons/web/static/src/js/abstract_web_client.js vim addons/web/static/src/js/views/list_view.js
有模塊須要simplejson-3.5.2.tar.gz,下載安裝數據庫
cd /root
wget https://pypi.python.org/packages/source/s/simplejson/simplejson-3.5.2.tar.gz#md5=10ff73aa857b01472a51acb4848fcf8b --no-check-certificate chown odoo:odoo simplejson-3.5.2.tar.gz tar vxzf simplejson-3.5.2.tar.gz cd simplejson-3.5.2/ python setup.py install
修改odoo的原配置文件改一個名字,運行時用本身的配置文件json
mv /etc/odoo/odoo.conf /etc/odoo/odoo_back.conf
退出後提交鏡像vim
exit
docker commit -m "odoo-yto" 286f3e2f6a6c ×××fudonghai/odoo:ytov1
若是容器退出就要啓動後從新進入(非必須)bash
docker start 57f370ef77ae docker exec -it -u root 57f370ef77ae /bin/bash
最後推送session
docker push ***fudonghai/odoo:ytov1
二,在一臺新機器上運行odoo:yto1post
創建自定義目錄
mkdir -p /usr/docker/odoo/{addons,filestore,sessions,config} chown -R odoo:odoo /usr/docker/odoo
放入本身的配置文件/usr/docker/odoo/config/odoo.conf
[options] addons_path = /mnt/extra-addons,/usr/lib/python2.7/dist-packages/odoo/addons data_dir = /var/lib/odoo db_host = 172.17.0.1 db_name = odoo10 db_password = odoodbyto1 db_user = odoo db_template = template0
注意這裏的主機db_host是172.17.0.1,就是經過網橋指向宿主機的IP。在容器內127.0.0.1表明本身,非宿主機
下載鏡像
docker pull ***fudonghai/odoo:ytov1
啓動命令
兩步法:
docker run -v /usr/docker/odoo/addons:/mnt/extra-addons -v /usr/docker/odoo/config:/etc/odoo -p 8069:8069 --name odoo -t odoo:ytov1
可是這個命令並不能啓動odoo,目前啓動odoo須要輸入odoo命令
docker exec -t fa51 odoo 而後CTRL + C 退出
一步法:把上面命令合併,注意最後一個odoo是運行命令
docker run -v /usr/docker/odoo/addons:/mnt/extra-addons -v /usr/docker/odoo/config:/etc/odoo -p 8069:8069 --name odoo1 -t fudonghai/odoo:ytov1 odoo
三,一個測試,非必須
爲了測試容器內到底能不能鏈接到數據庫,安裝psql
apt-get install postgresql-client
在容器裏面使用下面語句測試是否能鏈接到數據庫
psql --command "select * from m_part;" "hostaddr=172.17.0.1 port=5432 user=odoo password=odoodb×××1 dbname=odoo10"
在更改了宿主機的postgresql監聽地址後,測試成功