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
建议进入容器后就直接进行替换(仅限国内服务器)。