首页 > 解决方案 > 如何与我的 docker 容器共享我的笔记本电脑网络?

问题描述

我正在使用 Next.js 开发一个网站。我创建了两个容器。一种用于 API(后端),一种用于前端。他们在 nginx 反向代理后面提供服务。我还为它们创建本地证书和本地主机条目。

所以,在我的开发机器上,我有:

https://project.local

https://api.project.local

从我的笔记本电脑上,我可以连接到这两个 URL,一切正常。在 next.js 中,我可以https://api.project.local在开发需要在客户端运行的代码时进行连接。

但是,我被困在如何使它适用于服务器端渲染。

这是我在示例页面中的服务器端渲染代码:


export async function getServerSideProps(context) {

    var response = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/meeting/list`);

    return {
        props: { }
    }
}

此代码尝试https://api.project.local/meeting/list从我的前端容器连接。该 URL 在我的另一个容器上提供。但是,证书和主机条目仅在我的本地计算机上可用。因此我看到了这个错误:

错误:连接 ECONNREFUSED 127.0.0.1:443

这里的最佳做法是什么?如何更改我的架构以促进 docker 容器和 next.js 上的服务器端和客户端的开发?

标签: dockernext.js

解决方案


推荐阅读