在按照 Dify 官方文档通过 Docker Compose 部署 Dify 社区版至阿里云服务器的过程中,执行 docker-compose up -d
时出现如下错误:
1 | [root@iZbp1h8smwi4n6ownjrnndZ docker]# docker-compose up -d |
部署过程中多个服务(如 web、api、worker 等)因无法访问 Docker Hub 而启动失败。
经过在 Dify 官方 Discussions 区查找类似问题,并结合自身部署环境进行排查和实践,最终成功解决了该连接超时的问题。本文将详细记录排查思路和解决过程,供遇到相同问题的用户参考。
在docker-compose.yaml
里面,所有镜像前面没有自带域名的都增加前缀docker.1ms.run/,比如:
1 | ...... |
镜像前面有自带域名的不需要进行替换,比如:
1 | ...... |
🚫 以下镜像源的地址无需添加代理前缀:
保持原样即可,否则可能导致拉取失败或找不到镜像。
- ghcr.io
- container-registry.oracle.com
- quay.io
- docker.elastic.co
- downloads.unstructured.io
然后再执行docker-compose up -d
由于网络问题,可能运行时间比较长一些,最终成功部署了Dify
1 | [root@iZbp1h8smwi4n6ownjrnndZ docker]# docker-compose up -d |
由于服务器上的80端口被占用了,所以报错了,在配置文件.env
里修改一下
将80
换成其他端口号
1 | EXPOSE_NGINX_PORT=8088 |
然后在执行一下docker-compose up -d
,也可以先执行一下docker-compose down
移除服务
如果不使用443端口,可以在docker-compose.yaml
文件里将443
端口注释掉
1 | ports: |
这样基本上就完成了Dify的部署