一,制作一个自己的odoo镜像odoo:yto
1,下载一个odoo10的镜像
docker pull odoo:10.0
2,按照自己的意愿修改里面的内容
docker run -it -u root --name odoo-yto odoo:10.0 /bin/bash
安装必要的软件并用vim修改内容
apt-get update
apt-get install -y --no-install-recommends vim iputils-ping net-tools iproute2 wget cd /usr/lib/python2./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..tar.gz
tar vxzf simplejson-3.5..tar.gz
cd simplejson-3.5./
python setup.py install
修改odoo的原配置文件改一个名字,运行时用自己的配置文件
mv /etc/odoo/odoo.conf /etc/odoo/odoo_back.conf
退出后提交镜像
exit
docker commit -m "odoo-yto" 286f3e2f6a6c ×××fudonghai/odoo:ytov1
如果容器退出就要启动后重新进入(非必须)
docker start 57f370ef77ae
docker exec -it -u root 57f370ef77ae /bin/bash
最后推送
docker push ***fudonghai/odoo:ytov1
二,在一台新机器上运行odoo:yto1
建立自定义目录
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./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 : --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监听地址后,测试成功