我是 Docker 新手,并试图了解容器之间的网络。我正在运行两个容器,一个用于 Node.js API 服务器的容器,一个用于保存前端 React UI 的容器。在本地运行它们时一切正常。API 服务器公开端口 3001,我可以从我的 React 站点调用 localhost:3001/api。
鉴于容器的思想是可以在任何地方运行,那么如何保证这两个容器服务在不在本地机器上运行时可以连接?我知道可以在 docker 容器之间设置网络,但这似乎不适用于这种情况,因为反应容器没有发出请求,而是客户端访问反应容器(因此 localhost 现在将引用他们的机器而不是我的 API 容器)。
部署此类架构的最佳实践是什么?
需要什么样的设置来保证这些容器可以在云部署中进行通信,其中 API 主机可以在部署时动态生成?
如果相关的话,我正在专门寻找部署到 AWS ECS 的方法。
编辑:
package.json 代理仅在开发中相关,因为代理在 React 应用程序的生产构建中不会生效。
这花了我一段时间才能弄清楚,所以我想我会留下一些说明,说明如何完成此操作,以防其他人遇到相同的问题。
我需要允许Express中的.well-known目录访问目录,以便能够使用certbot生成SSL证书。
amazon-ecs ×1
certbot ×1
cloud ×1
docker ×1
express ×1
https ×1
networking ×1
node.js ×1
ssl ×1