- 背景

使用 docker 跑了 dify 在服务器上,后续想加更多的服务。dify 自带的 nginx 监听了主机的 80 端口。

- 解决域名问题

因为不想对 dify 的 nginx 容器进行大的改动,所以选择了最简单的方式。

sudo docker inspect 3b14
查看 nginx 容器的挂载情况,发现挂了 /path/to/docker/nginx/conf.d 这个目录。

直接在这个目录下新建目录 newsite-www

然后新建 path/to/docker/nginx/conf.d/newsite.conf 文件,配置域名和根目录,端口转发等。

修改 path/to/docker/nginx/conf.d/default.conf 文件,将 server_name 改成 dify 的访问域名,区别其他应用。

重启 nginx
sudo docker exec -it 3b14 nginx -s reload

- 其他应用直接在宿主机启动的,需要配置 nginx 的转发(这一步比较坑)

直接在容器内使用 172.17.0.1 可以访问宿主机 ( host.docker.internal 需要改启动方式等,太麻烦)

需要在宿主机上修改 iptables

sudo iptables -A INPUT -p tcp --dport 14518 -j ACCEPT
sudo iptables -A FORWARD -p tcp --dport 14518 -j ACCEPT

否则不通


Airy
2.4k 声望69 粉丝

github.com/airylinus