Docker 中安装 ERPNext 自定义应用

在 Docker 中安装自定义应用理论上和在服务器上安装并没有本质的区别。

注意:在安装任何自定义应用程序之前,始终建议对 ERPNext 进行备份,尤其是在生产环境中,毕竟数据无价

进入 Docker 容器

首先,我们需要进入安装了 ERPNext 的 Docker 容器。可以使用 docker exec 命令执行此操作,如下所示:

sudo docker exec -it <CONTAINER_NAME> bash

这条命令的作用是在指定的 Docker 容器内部启动一个交互式的 Bash shell

注意:将 <CONTAINER_NAME> 更换成容器的名称或 ID,并确保随后的操作全部在容器内进行.

进入 Bench 目录

确认自己是否在 Bench 目录内,如果在则略过此步,如果没有输入

cd /home/frappe/frappe-bench

安装应用

这里和使用服务器安装没有区别:

  • 克隆应用:将 <repository_url> 更换为存储库的地址
git clone <repository_url>

如果为官方应用则使用官方的安装命令,<app_name> 更换为应用名称

bench get-app <app_name>
  • 安装应用:将 <site1.local> 更换为站点名称, <app_name> 更换为应用名称
bench --site <site1.local> install-app <app_name>

迁移站点

安装完成后,运行 migrate 命令来执行对数据库的更改,将 <site1.local> 更换为站点名称:

bench --site <site1.local> migrate

重启容器

最后,重启容器 应用更改。


常见问题

  • 目录问题

这里的 /home/frappe/frappe-bench 目录为 Docker 内部文件系统中的 home 目录,而非宿主机的 home目录。

  • 容器名称或 ID

如果不知道容器名称或 ID 可以输入以下命令列出所以容器:

sudo docker ps

通常情况下,Frappe 的后端容器会以 backend 作为后缀,复制容器名或 ID 进入容器即可。

  • 网络问题

如果在安装应用的时候遇到 PYPI 方面的网络问题可以输入以下命令替换成阿里云的镜像源:

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple

pip config set install.trusted-host mirrors.aliyun.coms

建议进入容器后就直接进行替换(仅限国内服务器)。