目录

linux-docker-安装dify本地运行,及部署后运行出现502问题

目录

linux docker 安装dify本地运行,及部署后运行出现502问题

1、git 拉取代码: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

https://i-blog.csdnimg.cn/direct/b8052b9a853c41ffb5fff3f65e5a10b1.png

4、第三步如果修改了端口,则需要在 docker-compose.yaml中对应的都修改端口,如下图

https://i-blog.csdnimg.cn/direct/9f15dc5153a94ec0a5ae1764ad56df01.png

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 】启动项目

https://i-blog.csdnimg.cn/direct/a2e0d459033d4ece85efafb5843893ca.png

7、启动后,查看是否启动成功

7.1:http://localhost:8044/install 查看网址是否成功出现登录页面

7.2:用命令查看是否全部启动成功:

docker ps -q | xargs -n 1 docker inspect --format '{{ .Name }}: {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 

启动失败实例:

https://i-blog.csdnimg.cn/direct/57ca4b53512946a6adebae3986b1a0bd.png

启动成功实例 https://i-blog.csdnimg.cn/direct/abf4cbc2af98444cbaea40aa0c51a66e.png

8:如果失败,则需要用docker命令查看log是什么报错

8.1 docker logs docker-sandbox-1 | grep errors

我的报错是:如下图,显示权限不足导致出现502问题。

https://i-blog.csdnimg.cn/direct/8bf099844a574c4899dfec2af481915c.png

出现上面权限不够的问题,需要修改启动文件 docker-compose.yaml ,哪个镜像运行出现权限不足,则在对应的后面添加全部权限

8.2  privileged: true

如下图修改:

https://i-blog.csdnimg.cn/direct/7939c78063cf479cb97403168cc68276.png

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服务

https://i-blog.csdnimg.cn/direct/f2a4cd6ac9554a32b70f66effdb62867.png

8.6:复制成功后,重启nginx加载文件

docker exec docker-nginx-1 nginx -s reload 

9:成功后图

https://i-blog.csdnimg.cn/direct/8e38f028672d40f596d26e8f69246f66.png