一,制作一个自己的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监听地址后,测试成功

【笔记】Docker部署Odoo的更多相关文章

  1. [转] docker 部署 odoo

    [From] https://blog.csdn.net/qq_36178641/article/details/79775153 1.安装大象数据库. docker run -d -e POSTGR ...

  2. Docker学习笔记 - Docker部署nginx网站

    一.制作 nginx 镜像 1.下载配置文件 mkdir /opt/nginx_docker && cd /opt/nginx_docker mkdir nginx && ...

  3. 运维笔记--docker odoo镜像 运行异常处理

    场景描述: 镜像来源,dockerhub odoo官方镜像:https://hub.docker.com/_/odoo odoo镜像运行一段时间后,出现下述异常,可能是触发某个未知bug:该现象在生产 ...

  4. Docker学习笔记三:Docker部署Java web系统

    Docker部署Java Web系统 1.在root目录下创建一个路径test/app mkdir test && cd test&& mkdir app && ...

  5. 笔记14:Docker 部署Python项目

    Docker 部署Python项目 导读: 软件开发最大的麻烦事之一就是环境配置,操作系统设置,各种库和组件的安装.只有它们都正确,软件才能运行.如果从一种操作系统里面运行另一种操作系统,通常我们采取 ...

  6. Docker 部署mysql

    目录 Docker 部署mysql 步骤 1.查找 Docker Hub 上的 MySQL 镜像 2.docker pull mysql 拉取镜像 3.运行容器 4.查看容器启动情况 使用命令备注 D ...

  7. AspNetCore容器化(Docker)部署(四) —— Jenkins自动化部署

    一.前言 (Jenkins.Docker.Git/Svn组建一套简单的自动化发布流程) 文章中用到的相关服务器角色 角色 环境 功能 开发机 Win10.Docker(Linux OS) 编码.调试 ...

  8. Docker学习笔记 — Docker私有仓库搭建

    Docker学习笔记 — Docker私有仓库搭建   目录(?)[-] 环境准备 搭建私有仓库 测试 管理仓库中的镜像 查询 删除 Registry V2   和Mavan的管理一样,Dockers ...

  9. 用Docker部署自己的JupyterHub

    [话在前头] 用 Docker 部署 JupyterLab 感觉是部署 JupyterLab 最方便的方式了,官方提供了很多可选的镜像,也可以自己从 jupyter/base-notebook 中继续 ...

随机推荐

  1. appium连接Android真机,并调试

    Android真机:华为pad2 Android和Windows连接同一个局域网 连接USB Android机设置: 打开USB调试 cmd>adb devices,显示Android序列号 , ...

  2. [BZOJ 1146] [CTSC2008]网络管理Network(树状数组+主席树)

    题目描述 M公司是一个非常庞大的跨国公司,在许多国家都设有它的下属分支机构或部门.为了让分布在世界各地的N个部门之间协同工作,公司搭建了一个连接整个公司的通信网络.该网络的结构由N个路由器和N-1条高 ...

  3. Codeforces Round #591 (Div. 2, based on Technocup 2020 Elimination Round 1) A. CME

    链接: https://codeforces.com/contest/1241/problem/A 题意: Let's denote correct match equation (we will d ...

  4. 在npm install时node-gyp出现错误

    在执行npm install的时候出现了下面的错误,安装Xcode并执行sudo xcode-select -s /Applications/Xcode.app/Contents/Developer, ...

  5. 生成和安装requirements.txt依赖

    pip freeze > requirements.txt pip install -r < requirements.txt

  6. 【leetcode】1295. Find Numbers with Even Number of Digits

    题目如下: Given an array nums of integers, return how many of them contain an even number of digits. Exa ...

  7. cookie与session的区别?

    一.cookie机制和session机制的区别 具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案.同时我们也看到,由于才服务器端保持状态的方 ...

  8. IntelliJ 如何显示代码的代码 docs

    希望能够在 IntelliJ 代码上面显示方法的 docs. 如何进行显示? 你可以使用 Ctrl + Q 这个快捷键来查看方法的 Docs. https://blog.ossez.com/archi ...

  9. [Loj] 数列分块入门 1 - 9

    数列分块入门 1 https://loj.ac/problem/6277 区间加 + 单点查询 #include <iostream> #include <cstdio> #i ...

  10. 在chrome开发者模式中查找你的js文件

    在chrom开发者模式中按ctrl+o查找你的js文件