一,制作一个自己的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. Quartz框架介绍

    一.Quartz概述: Quartz是一个完全由Java编写的开源任务调度的框架,通过触发器设置作业定时运行规则,控制作业的运行时间.其中quartz集群通过故障切换和负载平衡的功能,能给调度器带来高 ...

  2. python_连接MySQL数据库(未完)

    1.增 # 导入库 import pymysql # 创建连接 conn = pymysql.connect(host='localhost',user='root',password='fuqian ...

  3. C# 字符串和正则表达式(8) 持续更新

    创建字符串 如果多次修改一个字符串或创建一个很长的字符串,用String类会效率低下.这种情况,可以用 System.Text.StringBuilder ,它专门为这种情况设计的. 格式化表达式 格 ...

  4. 长春理工大学第十四届程序设计竞赛D Capture The Flag——哈希&&打表

    题目 链接 题意:给定一个字符串 $s$,求不同于 $s$ 的字符串 $t$,使得 $Hash(s) = Hash(t)$,其中 $\displaystyle Hash(s) = \sum_0^{le ...

  5. 1、Mat类的属性、方法

    Mat类分有两个部分:矩阵头和指向矩阵数据部分的指针 Mat类的属性: rows  矩阵的行数 cols   矩阵的列数 dims  矩阵的维度,例如5*6矩阵是二维矩阵,则dims=2,三维矩阵di ...

  6. 010_linuxC++之_运算符重载

    (一)运算符重载:运算符重载,就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型. (二)实现类不同对象里中变量的相加 (三)程序 #include <iostream> ...

  7. Eclise快捷键(最全)

    Eclipse常用快捷键 Eclipse常用快捷键 1几个最重要的快捷键 代码助手:Ctrl+Space(简体中文操作系统是Alt+/) 快速修正:Ctrl+1 单词补全:Alt+/ 打开外部Java ...

  8. 在Linux下使用rm -rf /*后会怎样?

    每个工作过的码农,也许不知道分布式,也许不知道高并发,但想必都知道这句鼎鼎大名的代码.本人对此也是比较好奇的,不妨用虚拟机试试看 首先是普通角色: 普通角色把拥有权限的文件全都删掉了后,其他文件的提示 ...

  9. 安装docker以及常规操作

    一.安装 docker对内核版本是有要求的,反正建议用7以上的版本,少坑 如果需要卸载旧版本(凡是卸载删除操作都要谨慎!): yum remove docker \ docker-client \ d ...

  10. HashMap简单介绍

    哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表. 一.什么是哈希表 在讨论哈希表之 ...