最终版本,永不改版,docker内带数据升级erpnext,最终版,再改是小狗!!!
docker内带数据升级erpnext,最终版,
淘宝花了198元买的教程,
这个教程是在你已经安装了docker的情况下,并且已经安装了erpnext的情况,是升级,而不是安装。
仅安装教程:
ERPNext frappe Docker部署_erpnext docker-CSDN博客
这个是别人写的安装教程,比较好,希望他没删除。
这是我备份的内容,万一他删除了,这里有留存。
转载,ERPNext frappe Docker部署,补充说明_erpnext docker-CSDN博客
---------------开始-------------------
直接下拉从第二步开始看,第一步是备份,备份去找其他方式,我这个备份太麻烦了,总而言之必须备份。
直接下拉从第二步开始看,第一步是备份,备份去找其他方式,我这个备份太麻烦了,总而言之必须备份。
直接下拉从第二步开始看,第一步是备份,备份去找其他方式,我这个备份太麻烦了,总而言之必须备份。
直接下拉从第二步开始看,第一步是备份,备份去找其他方式,我这个备份太麻烦了,总而言之必须备份。
第一步:
不用说,备份,非常重要的备份!!!
不论是群辉虚拟机的备份!!!
还是sql数据库内部的备份!!!
还是docker本身的备份都要备份!!!
不论怎么备份都要备份!!!
【我们开始精准的备份一下数据,其实这种方式很不好,最好备份整个镜像,或者整个docker】
【我们开始精准的备份一下数据,其实这种方式很不好,最好备份整个镜像,或者整个docker】
【我们开始精准的备份一下数据,其实这种方式很不好,最好备份整个镜像,或者整个docker】
运行命令docker ps 查看所有容器,找到 frappe_docker-db-1 的id 07f0f8c99251
这个长得像数据库的容器,进入他内部
进入数据库内部 :
docker exec -ti 07f0f8c99251 bash
登录:
mysql -h db -u root -padmin
这个登录密码就是猜测admin 或者123456 或者root 等等常见密码


查看表:
show databases;
(注意一定要带上逗号)
我们看到了

登录表:
use _5e5899d8398b5f7b;
输入完这个use命令,要等待几分钟,他会卡住他会加载内容,
查看表内容:
show tables;
退出:
exit
然后备份命令:(这个文件在docker内部)
mysqldump -h db -u root -padmin _5e5899d8398b5f7b > db-bak-241022.sql
之后,我们退出docker
exit
然后我们移动出来备份:(我们移动出来到主机内) f29f9e2000a1 是主机名记得替换
docker cp f29f9e2000a1:db-bak-241022.sql /root/
之后我们删除容器里面的sql,造成空间浪费
docker exec f29f9e2000a1 rm db-bak-241022.sql
搜索命令,表示这个文件的唯一性,删除成功
find / -name "db-bak-241022.sql"

备份过程:

我感觉这样备份不保险,应该是整个备份,因为他还有数据卷。
如果备份整个docker:
百度吧,这里写不开了
备份完成直接从第二步开始,
第二步:
下载一键安装文件,
git clone https://github.com/frappe/frappe_docker
cd frappe_docker
如果不能使用git下载功能。则手动下载,这里面的文件,然后复制到服务器内部,
这一步其实就是为了获得pwd.yml文件。(不止pwd.yml是整个文件夹)
下载按钮

补充:更改网站的端口号,默认的是8080,但是8080冲突的太多了,如果你8080空闲可以不改

更改这里,改成9090:8080
这个8080是内部的,9090是外部的,只改9090就可以,
第三步:
下载镜像,
https://hub.docker.com/r/frappe/erpnext/tags
这个网站内部找到镜像,
【注意坑来了】

一定注意的是,他的排序不是最新的在最上面,一定要自己分辨最新的版本型号!!!!
一定注意的是,他的排序不是最新的在最上面,一定要自己分辨最新的版本型号!!!!
一定注意的是,他的排序不是最新的在最上面,一定要自己分辨最新的版本型号!!!!
docker pull frappe/erpnext:v15.38.2
复制好这个代码后,然后再服务器命令界面直接无脑运行,(前提是你已经安装了,docker)
效果:就是多出一个没有使用的镜像,这是在宝塔内部看的。

第四步:
这一步也很重要,对比,第二步下载的pwd.yml文件内部的版本和,下载的镜像版本是否一致。

pwd.yml内的版本和镜像版本一定要一致版本号一致。
如果pwd.yml内的版本号大于镜像版本号那说明镜像版本号没有找对。
如果pwd.yml内的版本号小于镜像版本号那有可能pwd.yml内的版本号没有更新。
那我们需要更改pwd.yml内的所有的版本号。
【其实这种情况最好是不要升级,因为官方都没有改版本号可能有问题,】
等镜像版本号和pwd.yml版本号一致后,我们开始下一步
现在是2024/10/14最新版是这个版本号。
erpnext:v15.38.2
如果更改pwd.yml内的版本号,是改这里下图(其实最好不要改,最好等待官方更改版本号,最好直接用官方的)

第四步和第五步中间多一步,

把这些旧的容器全部删掉,然后继续执行第五步就可以了,多这一步是可以防止前端变形错位【出现前端乱码排版错误】,如果你没有这一步前端100%错位,很麻烦的必须要删除重来,
Erpnext Install- Ubuntu 22.04 - #6 by nlublovary - Install / Update - Frappe Forum
关于erpnext安装在docker内部前端乱码排版错误css文件404问题解决方案。
第五步:
下载了pwd.yml,下载了镜像,这两个版本号一致,
我们移步到pwd.yml文件夹内部,然后运行命令
docker compose -f pwd.yml up -d
命令来源:
他就会自动升级:

第六步:
好了前几步,我们已经把代码升级到最新版本了,
到了最关键的一步
等待5分钟,他会自动停止2个容器,如果没有自动停止2个容器可能有错误了。(如果没有停止2个容器,你尝试重启全部的容器,应该会正常)
或者说,有可能以后的版本,他不会自动停止容器,如下图

好了,我们等待了5分钟。
接下来才是最重要的环节,我花200元买的教训!!!
1.
运行代码:
docker ps
找到
849355df153f frappe/erpnext:v15.38.2 "/home/frappe/frappe…" 8 hours ago Up 8 hours frappe_docker-backend-1
带有backend名称的容器【好像现在没有带backend的容器了,你随便找个容器运行,】
然后找到他的代码
849355df153f
2.进入到这个容器,如果没有backend请随便找个容器,
docker exec -ti 849355df153f bash
3.查看容器版本,是否和第二步的pwd.yml文件内的版本号,和第三步的镜像文件版本号是否一致。
bench version
在这里一定要注意,等5分钟,一定要等5分钟
在这里一定要注意,等5分钟,一定要等5分钟
在这里一定要注意,等5分钟,一定要等5分钟
在这里一定要注意,等5分钟,一定要等5分钟
4.运行价值200元的命令
bench --site all migrate
这个代码的来源,
CSS 404 After bench build command (Single Server Example Configuration) - ERPNext - Frappe Forum
https://github.com/frappe/frappe_docker/wiki/Frequently-Asked-Questions#how-to-build-assets
其实从这里就已经升级完成了,
现在是2025-02-08时间,从我写这个文章到现在,我已经连续升级很多次了,每次都升级,没有一次出现意外,所以这个帖子是可以正常使用的,如果出现问题,可能是其他问题,总之一定做好备份
运行完成,如果出现前端乱码排版错误,请恢复数据,直接恢复镜像,然后,重新所有的操作,然后再进入【frappe_docker-scheduler-1】 带有scheduler名称的容器内部执行bench migrate,
我们刚刚不是进入带有backend名称内部执行的吗,现在我们进入带有scheduler名称的镜像内部执行命令,一定要等5分钟,在执行bench migrate
5.总览全图

6.解释:关于这个bench migrate代码在哪个容器里面执行的问题,
GPT推荐的是在 frappe_docker-backend-1 内容器进行运行,
客服告诉我在任意最新版本的容器内运行都可以,
我觉得听GPT的把,在含有 backend 名称的容器内运行。



------------------------------结束-----------------------
以上就是升级的全部过程,
更多推荐
所有评论(0)