淘宝花了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下载功能。则手动下载,这里面的文件,然后复制到服务器内部,

GitHub - frappe/frappe_docker: Docker images for production and development setups of the Frappe framework and ERPNextDocker images for production and development setups of the Frappe framework and ERPNext - frappe/frappe_dockerhttps://github.com/frappe/frappe_docker        注意一定要下载最新版,

        这一步其实就是为了获得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%错位,很麻烦的必须要删除重来,

前端排版错误的效果,如果你没有删除直接安装则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

        命令来源:

GitHub - frappe/frappe_docker: Docker images for production and development setups of the Frappe framework and ERPNextDocker images for production and development setups of the Frappe framework and ERPNext - frappe/frappe_dockerhttps://github.com/frappe/frappe_docker

        他就会自动升级:

        

第六步:

        好了前几步,我们已经把代码升级到最新版本了,

        到了最关键的一步

        等待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 名称的容器内运行。

------------------------------结束-----------------------

以上就是升级的全部过程,

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐