You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Dokku实例中关联两个未对外暴露的应用

在Dokku中实现内部服务间的私密调用

核心思路

利用Dokku默认的内部Docker网络,让emailer通过应用名称直接访问api服务,同时禁用api的公网代理,确保其不暴露到外部。

具体操作步骤

  1. 禁用api服务的公网暴露
    部署api应用后,执行以下命令关闭公网代理,避免外部访问:

    dokku proxy:disable api
    

    如果之前已经启用过代理,执行该命令会立刻停止公网端口映射。

  2. 配置emailer的内部API地址
    在emailer应用中设置API_URL环境变量,直接使用api的应用名称加上容器内部端口(根据你的api服务实际监听端口调整,比如Flask默认5000、Node.js默认3000):

    dokku config:set emailer API_URL=http://api:5000
    
  3. 验证内部访问有效性
    进入emailer容器内部,用curl测试是否能正常调用api接口:

    dokku enter emailer curl http://api:5000/your-api-endpoint
    

    返回正常响应则说明配置成功。

注意事项

  • 确保api服务的Procfile正确绑定了容器内部的端口(例如web: gunicorn --bind 0.0.0.0:5000 app:app),不要只绑定127.0.0.1,否则同网络的emailer无法访问。
  • Dokku默认将所有应用加入dokku-network网桥,无需额外配置网络,应用间可直接通过应用名称作为主机名访问。

内容的提问来源于stack exchange,提问作者ydnaklementine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 09:33:25