1、git 拉取代码:git( https://github.com/langgenius/dify.git)
git clone https://github.com/langgenius/dify.git
2、进入项目目录 的docker下
cd docker
3、复制一份本地运行的环境
cp .\.env.example .env
查看本地的端口:80和443端口是否被占用,如果被占用需要修改 .env文件中的端口,我这边是都修改后运行的
EXPOSE_NGINX_PORT
EXPOSE_NGINX_SSL_PORT
4、第三步如果修改了端口,则需要在 docker-compose.yaml中对应的都修改端口,如下图
5、我们主要看三个文件
5.1 dify/docker/.env
5.2 dify/docker/docker-compose.yaml
5.3 dify/docker/nginx/conf.d/default.conf [这个是如果安装运行出现502,需要修改的文件]
6、运行项目,运行命令可以在项目的 dify/README_CN.md 查看
cd docker
cp .env.example .env
docker compose up -d 【如果docker版本低,需要安装docker-compose,安装后用命令: docker-compose up -d 】启动项目
7、启动后,查看是否启动成功
7.1:http://localhost:8044/install 查看网址是否成功出现登录页面
7.2:用命令查看是否全部启动成功:
docker ps -q | xargs -n 1 docker inspect --format '{{ .Name }}: {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'
启动失败实例:
启动成功实例
8:如果失败,则需要用docker命令查看log是什么报错
8.1 docker logs docker-sandbox-1 | grep errors
我的报错是:如下图,显示权限不足导致出现502问题。
出现上面权限不够的问题,需要修改启动文件 docker-compose.yaml,哪个镜像运行出现权限不足,则在对应的后面添加全部权限
8.2 privileged: true
如下图修改:
8.3:修改权限后,先把服务停止,再重启
docker-compose down 停止
docker-compose up -d 启动
8.4:启动后,再查看是否10个镜像全部启动成功
docker ps -q | xargs -n 1 docker inspect --format '{{ .Name }}: {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'
8.5:全部成功后,需要替换文件 【dify/docker/nginx/conf.d/default.conf】中的地址为ip地址
替换后结果如下
docker-nginx-1:服务的nginx服务
docker-api-1:api服务
docker-web-1:web服务
8.6:复制成功后,重启nginx加载文件
docker exec docker-nginx-1 nginx -s reload
9:成功后图