dify容器化部署时,默认是使用nginx容器的,但是服务器一般情况下早就已经部署了nignx,所以需要把dify上面的nginx容器配置迁移到服务器的nginx
查看容器名
docker ps
#获取api、web与plugin_daemon即可
查看容器分配地址
docker inspect --format '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' docker-api-1
docker inspect --format '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' docker-web-1
docker inspect --format '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' docker-plugin_daemon-1
注意:api容器可能会存在多个ip,任取一个即可
修改nginx配置文件
nginx容器配置如下,但是文件里面的代理地址需要改变一下server {
listen 80;
server_name _;
location /console/api {
proxy_pass http://api:5001;
include proxy.conf;
}
location /api {
proxy_pass http://api:5001;
include proxy.conf;
}
location /v1 {
proxy_pass http://api:5001;
include proxy.conf;
}
location /files {
proxy_pass http://api:5001;
include proxy.conf;
}
location /explore {
proxy_pass http://web:3000;
include proxy.conf;
}
location /e/ {
proxy_pass http://plugin_daemon:5002;
proxy_set_header Dify-Hook-Url $scheme://$host$request_uri;
include proxy.conf;
}
location / {
proxy_pass http://web:3000;
include proxy.conf;
}
}
其中/console/api``/api /v1``/files都使用docker-api-1容器ip地址,/ /explore根地址使用docker-web-1容器ip地址,/e/使用docker-plugin_daemon-1容器的ip地址,修改如下:
server {
listen 80;
server_name _;
location /console/api {
proxy_pass http://172.18.0.8:5001;
location /api {
proxy_pass http://172.18.0.8:5001;
}
location /v1 {
proxy_pass http://172.18.0.8:5001;
}
location /explore {
proxy_pass http://172.18.0.3:3000;
}
location /e/ {
proxy_pass http://172.18.0.7:5002;
}
location /files {
proxy_pass http://172.18.0.8:5001;
}
location / {
proxy_pass http://172.18.0.3:3000;
}
}
配置好后重启nginx即可,此时可以把nginx容器停掉,使用服务器上之前部署的nginx
606

被折叠的 条评论
为什么被折叠?



