erpnext mysql_windows7+docker+erpnext部署

erpnext 为开源的erp系统,采用python语言编写,本次部署采用windows7+docker方式进行,erpnext需要运行python、redis、mariadb或者mysql、nginx。

参考资料

docker镜像

erpnext基于ubuntu操作系统构建。

pull erpnext镜像

docker pull lukptr/erpnext7

运行erpnext

docker run -d --name erpnext -p 80:80 lukptr/erpnext7

启动之后访问虚拟机ip地址就可以,比如 192.168.99.100

登录名:Administrator 密码:12345678

这种方式运行之后,数据没有得到持久化,db数据没有持久化,app数据没有进行持久化,如果程序发生错误,下次再次运行erpnext时,数据就会消失。

erpnext 数据持久化

通过docker的volume方式,把docker容器的数据持久化到宿主机。

site1.local 目录数据持久化

把容器里面的site1.local目录复制到windows7系统,在做操作之前,把windows7的F盘共享给docker宿主机

docker cp erpnext:/home/frappe/frappe-bench/sites/site1.local /F/DataAgg/erpnext/frappe/

如下:

docker@dataagg:/F/DataAgg/erpnext/frappe/site1.local$ ls -la

total 9

drwxrwxrwx 1 docker staff 4096 Mar 20 00:52 ./

drwxrwxrwx 1 docker staff 4096 Mar 20 08:13 ../

drwxrwxrwx 1 docker staff 0 Mar 20 00:52 error-snapshots/

drwxrwxrwx 1 docker staff 0 Mar 19 17:07 locks/

drwxrwxrwx 1 docker staff 0 Mar 19 17:07 private/

drwxrwxrwx 1 docker staff 0 Mar 19 17:07 public/

-rwxrwxrwx 1 docker staff 107 Mar 20 03:29 site_config.json

drwxrwxrwx 1 docker staff 0 Mar 19 17:07 task-logs/

docker@dataagg:/F/DataAgg/erpnext/frappe/site1.local$

db数据持久化

docker cp erpnext:/var/lib/mysql /F/DataAgg/erpnext/

把mysql的数据复制到F:\DataAgg\erpnext\mysql下面,下次启动erpnext时候,映射到宿主机

执行docker数据持久化命令:

docker run -d --name erpnext -v /F/DataAgg/erpnext/mysql/:/var/lib/mysql/ -v /F/DataAgg/erpnext/frappe/site1.local:/home/frappe/frappe-bench/sites/site1.local -v /F/DataAgg/erpnext/logs:/home/frappe/frappe-bench/logs -p 80:80 lukptr/erpnext7

进入容器查看mysql数据权限不对,如下:

# pwd

/var/lib/mysql

# ls -la

total 177065

drwxrwxrwx 1 frappe staff 4096 Mar 20 07:44 .

drwxr-xr-x 29 root root 4096 Mar 15 07:44 ..

drwxrwxrwx 1 frappe staff 393216 Mar 15 07:46 1bd3e0294da19198

-rwxrwxrwx 1 frappe staff 78504 Mar 20 07:36 2ad672a21283.err

-rwxrwxrwx 1 frappe staff 146756 Mar 20 07:44 6f45cefeaeff.err

-rwxrwxrwx 1 frappe staff 24576 Mar 20 07:44 aria_log.00000001

-rwxrwxrwx 1 frappe staff 52 Mar 20 07:44 aria_log_control

-rwxrwxrwx 1 frappe staff 0 Mar 15 07:39 debian-10.1.flag

-rwxrwxrwx 1 frappe staff 240847 Mar 20 07:11 fd9157e5d433.err

-rwxrwxrwx 1 frappe staff 50331648 Mar 20 07:44 ib_logfile0

-rwxrwxrwx 1 frappe staff 50331648 Mar 15 07:38 ib_logfile1

-rwxrwxrwx 1 frappe staff 79691776 Mar 20 07:44 ibdata1

-rwxrwxrwx 1 frappe staff 0 Mar 15 07:39 multi-master.info

drwxrwxrwx 1 frappe staff 40960 Mar 20 06:30 mysql

-rwxrwxrwx 1 frappe staff 15 Mar 15 07:39 mysql_upgrade_info

drwxrwxrwx 1 frappe staff 0 Mar 15 07:39 performance_schema

-rwxrwxrwx 1 frappe staff 24576 Mar 20 07:00 tc.log

#

修改mysql数据目录的用户和组为mysql,命令:

# chown -R mysql:mysql mysql

# ls -la

total 84

drwxr-xr-x 29 root root 4096 Mar 15 07:44 .

drwxr-xr-x 24 root root 4096 Mar 20 07:37 ..

drwxr-xr-x 7 root root 4096 Mar 15 07:44 apt

drwxr-xr-x 13 root root 4096 Mar 15 07:44 dpkg

drwxr-xr-x 2 root root 4096 Mar 23 2016 git

drwxr-xr-x 2 root root 4096 Feb 5 2016 initscripts

drwxr-xr-x 2 root root 4096 Feb 5 2016 insserv

drwxr-xr-x 2 root root 4096 Apr 12 2016 misc

drwxrwxrwx 1 frappe staff 4096 Mar 20 07:44 mysql

drwxr-xr-x 7 root root 4096 Mar 15 07:44 nginx

drwxr-xr-x 2 root root 4096 Nov 14 16:21 pam

drwxr-xr-x 2 postfix postfix 4096 Mar 15 07:44 postfix

drwxr-xr-x 2 root root 4096 Mar 15 07:37 python

drwxr-xr-x 2 redis redis 4096 Mar 15 07:37 redis

drwxr-xr-x 3 root root 4096 Nov 23 05:00 sudo

drwxr-xr-x 7 root root 4096 Mar 15 07:34 systemd

drwxr-xr-x 2 root root 4096 Nov 23 05:00 ucf

drwxr-xr-x 2 root root 4096 Mar 6 2015 update-rc.d

drwxr-xr-x 2 root root 4096 Feb 5 2016 urandom

drwxr-xr-x 3 root root 4096 Mar 15 07:44 vim

drwxr-xr-x 2 root root 4096 Mar 15 07:37 xfonts

#

发现/var/lib/mysql的目录权限没有发生变化,再查看mysqld服务是否启动,多次输入supervisorctl status 查看服务状态

# supervisorctl status

crond:cron RUNNING pid 30, uptime 0:46:25

frappe-bench-redis:frappe-bench-redis-cache RUNNING pid 9, uptime 0:46:25

frappe-bench-redis:frappe-bench-redis-queue RUNNING pid 8, uptime 0:46:25

frappe-bench-redis:frappe-bench-redis-socketio RUNNING pid 10, uptime 0:46:25

frappe-bench-web:frappe-bench-frappe-web RUNNING pid 13, uptime 0:46:25

frappe-bench-web:frappe-bench-node-socketio RUNNING pid 14, uptime 0:46:25

frappe-bench-workers:frappe-bench-frappe-default-worker-0 RUNNING pid 26, uptime 0:46:25

frappe-bench-workers:frappe-bench-frappe-long-worker-0 RUNNING pid 28, uptime 0:46:25

frappe-bench-workers:frappe-bench-frappe-schedule RUNNING pid 27, uptime 0:46:25

frappe-bench-workers:frappe-bench-frappe-short-worker-0 RUNNING pid 29, uptime 0:46:25

mysqld RUNNING pid 7960, uptime 0:00:04

nginx RUNNING pid 17, uptime 0:46:25

# supervisorctl status

crond:cron RUNNING pid 30, uptime 0:46:30

frappe-bench-redis:frappe-bench-redis-cache RUNNING pid 9, uptime 0:46:30

frappe-bench-redis:frappe-bench-redis-queue RUNNING pid 8, uptime 0:46:30

frappe-bench-redis:frappe-bench-redis-socketio RUNNING pid 10, uptime 0:46:30

frappe-bench-web:frappe-bench-frappe-web RUNNING pid 13, uptime 0:46:30

frappe-bench-web:frappe-bench-node-socketio RUNNING pid 14, uptime 0:46:30

frappe-bench-workers:frappe-bench-frappe-default-worker-0 RUNNING pid 26, uptime 0:46:30

frappe-bench-workers:frappe-bench-frappe-long-worker-0 RUNNING pid 28, uptime 0:46:30

frappe-bench-workers:frappe-bench-frappe-schedule RUNNING pid 27, uptime 0:46:30

frappe-bench-workers:frappe-bench-frappe-short-worker-0 RUNNING pid 29, uptime 0:46:30

mysqld RUNNING pid 8061, uptime 0:00:03

nginx RUNNING pid 17, uptime 0:46:30

#

通过上面pid可以发现,mysqld的pid一直在递增,说明mysqld服务一直在重启。

由于mysql数据目录的用户和属组没有成功改成mysql,导致mysql服务一直起不来。初步判断是因为共享机制的问题,windows7的数据共享个docker 宿主机,docker宿主机再次把数据映射到docker erpnext容器。其他windows系统可以尝试上面的方法持久化mysql数据。在linux下面采用这种方式没有问题,已经测试可以使用。

采用外部mariadb数据库

由于windows7的共享机制尝试失败,采用外部db作为erpnext存储,达到持久化数据目的。

修改F:\DataAgg\erpnext\frappe\site1.local目录下面的site_config.json文件内容

{

"db_host": "192.168.10.234",

"db_name": "erpnext",

"db_user": "erpnext",

"db_password": "erpnext"

}

修改mariadb的配置文件

[mysqld]

innodb-file-format=barracuda

innodb-file-per-table=1

innodb-large-prefix=1

character-set-client-handshake = FALSE

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

运行erpnext容器,备份mysql数据

docker run -d --name erpnext -v /F/DataAgg/erpnext/frappe/site1.local:/home/frappe/frappe-bench/sites/site1.local \

-p 80:80 lukptr/erpnext7

# cd /home/frappe/frappe-bench

# bench backup

# pwd

/home/frappe/frappe-bench/sites/site1.local/private/backups

# ls -la

total 3974

drwxrwxrwx 1 frappe staff 4096 Mar 20 08:37 .

drwxrwxrwx 1 frappe staff 0 Mar 19 17:07 ..

-rwxrwxrwx 1 frappe staff 3156985 Mar 20 03:01 20170320_110153_83043d43_database.sql

-rwxrwxrwx 1 frappe staff 453779 Mar 20 03:01 20170320_110153_83043d43_database.sql.gz

-rwxrwxrwx 1 frappe staff 453458 Mar 20 08:37 20170320_163732_b350d2cf_database.sql.gz

#

启动20170320_163732_b350d2cf_database.sql.gz文件为备份的sql文件

在外部db执行备份的sql文件

最终采用下面命令启动erpnext

docker run -d --name erpnext -v /F/DataAgg/erpnext/logs:/home/frappe/frappe-bench/logs -v /F/DataAgg/erpnext/frappe/site1.local:/home/frappe/frappe-bench/sites/site1.local -p 80:80 lukptr/erpnext7

访问192.168.99.100进入登陆界面,默认的用户名Administrator 密码 12345678,app数据和db数据得到持久化处理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/432591.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一种解决运行程序报“应用程序配置不正确”的问题

在我们开发工程中,可能有些情况下,不能在本机进行调试。这个时候我们一般会使用VM(vmware)建立一个虚拟机环境,然后把编译过的程序放在该虚拟机环境下执行调试。可是在某些情况下,不管我们编译的是debug还是release版本…

mysql group by自定义_mysql – GROUP BY和自定义顺序

我已经阅读了MySQL order by before group by的答案,但是将它应用于我的查询最后会在子查询中找到一个子查询,这是一个相当简单的案例,所以我想知道这是否可以简化:带有样本数据的模式为简洁起见,我省略了成员表中的其他字段.此外,在实际应用程序中还有更多表加入,但…

SharePoint 2010 RBS 安装和配置遇到的一个问题

在按照微软官方的文档按照配置的时候遇到下面问题&#xff1a; <Event xmlns"http://schemas.microsoft.com/win/2004/08/events/event"> - <System><Provider Name"RBS" /> <EventID Qualifiers"0">18639</EventID&…

X210烧写linux系统

准备&#xff1a; x210开发板USB OTG线串口线一张SD卡windows PC 说明&#xff1a; 开发板里面已经有系统&#xff0c;为wince系统&#xff0c;wince系统的调试串口是UART0准备烧写为linux系统&#xff0c;调试串口是UART2 操作及原理&#xff1a; 1. 破坏EMMC里面的bootloader…

mysql+ubunt+绿色安装_Mysql在ubuntu18上的安装及简单使用

数据相关行业都离不开数据库&#xff0c;mysql在ubuntu上的安装比在windows上安装简单多了&#xff0c;下面我记录一下自己成功安装的步骤和使用。1.安装软件首先更新一下源&#xff1a;sudo apt-get update然后安装mysql服务器端&#xff1a;sudo apt-get install mysql-serve…

小组互评(杨波组)

我组经过认真使用杨波组的软件有以下心得&#xff1a; 刘铸辉&#xff1a;界面挺美观的&#xff0c;功能实现也不错&#xff0c;对学生查询教室这方面实用性很好&#xff0c;就是功能布局界面有点小&#xff0c;希望下一个版本可以改善下 解凤娇&#xff1a;首先此软件的名字ji…

矩阵运算——平移,旋转,缩放

平时开发程序&#xff0c;免不了要对图像做各种变换处理。有的时候变换可能比较复杂&#xff0c;比如平移之后又旋转&#xff0c;旋转之后又平移&#xff0c;又缩放。 直接用公式计算&#xff0c;不但复杂&#xff0c;而且效率低下。这时可以借助变换矩阵和矩阵乘法&#xff0c…

sql字符串拼接_Mybatis的SqlSession执行sql过程

上一篇分析了SqlSession执行sql的过程&#xff0c;其中并没有分析sql是从哪里来的&#xff0c;今天就来仔细分析下。Sql来源从上一篇的最后一步执行sql那里倒推sql的来源&#xff0c;源码主要过程如下图&#xff1a;可以看到最后是通过BoundSql直接获取的sql&#xff0c;然后往…

KMP算法----java实现

字符串的模式匹配本文先实现最基本的回溯实现的已经KMP算法&#xff0c;BM算法后面博文继续实现。ps:本篇博文强烈参考了July大神的作品&#xff0c;地址http://blog.csdn.net/v_july_v/article/details/6545192.再次感激大神~~ 1.最基本的回溯实现字符串模式匹配 package com.…

深入浅出FSUIPC的作用以及使用方法

看此贴前您需要掌握的技能或知识&#xff1a;1. 有FSX或FS2004并正确安装了FSUIPC 2. 具备一定的C语言理解能力&#xff0c;C语言是一切高级语言的基础&#xff0c;单片机主要也用的C语言。 3. 掌握以下几种编程语言之一即可&#xff1a; VC\VB\C#\DELPHI\JAVA\CMFC\.NET版的C或…

PHP面向对象2之变量、方法

1 <?php2 /**3 * PHP面向对象基础 调用变量4 */5 class Computer{6 //字段成员的声明格式&#xff1a;修饰符 变量名[xxx]7 public $_name;//public 表示类外可以访问&#xff0c;为公有变量8 public $_model;9 } 10 //创建一个对象…

在 VC6 中使用 GdiPlus-安装

安装三部曲&#xff1a; Step1&#xff1a;下载 GdiPlus SDK 文件包&#xff1b; 链接地址1&#xff1a;http://www.codeguru.com/code/legacy/gdi/GDIPlus.zip 链接地址2&#xff1a;http://www.codersource.net/samples/mfcgdiplus.zip Step2&#xff1a;安装&#xff1b; &a…

算法训练|实现 Trie (前缀树)

208. 实现 Trie (前缀树) - 力扣&#xff08;LeetCode&#xff09; 总结&#xff1a; Trie&#xff0c;又称前缀树或字典树&#xff0c;是一棵有根树&#xff0c;其每个节点包含以下字段&#xff1a; 指向子节点的指针数组 children。对于本题而言&#xff0c;数组长度为 26…

ASP.NET MVC 的多国语系支持

ASP.NET MVC 的多国语系支持 posted on 2014-05-14 11:31 stickout 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/linhui/p/3727364.html

airtest web 录制滑块_Airtest之web自动化(一)

Airtest之web自动化(一)[此文档有许多涉及到gif动图的地方&#xff0c;请全屏观看]了解Airtest&#xff1a;简介&#xff1a;Airtest是由网易团队开发的一款自动化框架&#xff0c;前期运用与游戏测试(通过截图识别)&#xff0c;后来又被运用到安卓测试以及web测试。这款自动化…

error C2065: 'ULONG_PTR' : undeclared identifier

处理方法: 把#define ULONG_PTR ULONG 加到 stdafx文件 靠前面的位置 原因&#xff1a; Visual C 6.0 开发环境, gdi 的头文件和库文件并没有被包含在环境中, 需要您手工安装 VC6 中没有 ULONG_PTR 类型

重构价格日历

重构价格日历转载于:https://www.cnblogs.com/usual2013blog/p/3728655.html

aliyun centos6 安装mysql_阿里云CentOS6.8安装MySQL5.6

1、使用SSH Secure Shell工具连接阿里云服务器2、使用SSH Secure File Transfer工具上传MySQL压缩包3、解压MySQL压缩包到指定目录(需要在先/usr/local下创建mysql目录)进入压缩文件存放位置&#xff0c;进行解打包&#xff1a;tar -xvf MySQL-5.6.22-1.el6.i686.rpm-bundle.ta…

RegOpenKeyEx 返回值 2

RegOpenKeyEx 返回值 2 x64 系统&#xff1a; 32bit 应用程序调用RegOpenKeyEx (HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft", 0, KEY_WOW64_64KEY | KEY_READ, &hKey ); 注意 KEY_WOW64_64KEY 权限值必须使用否则将查找不到指定的路径。

mysql client 未开启_Django+mysqlclient未关闭数据库连接

我使用2个mysql数据库连接。在django中的每个页面请求之后&#xff0c;连接计数(如SHOW STATUS LIKE Conn%所示)每次增加2。在Python 3.4.0django 1.8.2mysqlclient 1.3.6版(Windows和Linux似乎都有这个问题)最初我直接通过MySQLdb访问第二个数据库&#xff0c;但现在我改为使用…