我的MacBook上有一个完全在本地运行的Webapp。
Webapp有一个前端(Angular/JavaScript)和一个实现RESTful API的后端(Python/Django)。
我已经对后端进行了Docker,使其完全独立于Docker容器中,并公开了端口8000。我将此端口映射到本地4026。
现在我需要对接前端。但是如果我有这两个docker容器在我的本地主机上运行,我如何让FE向BE发送HTTP请求呢?FE容器不知道外部存在的任何东西。对吧?
这是我运行FE的方式:
$ http-server
Starting up http-server, serving ./
Available on:
http://127.0.0.1:8080
http://192.168.1.16:8080
Hit CTRL-C to stop the server
请提供说明我如何实现这一点的参考资料。
实现这一点的方法就是今天的Docker Networking,另一个答案简单提到了这一点。
简而言之,您可以运行Docker network LS
来获得您的网络列表。默认情况下,应该有一个名为桥
的桥。您可以创建一个新的容器,也可以通过在创建容器时传递--net=bridge
来使用这个容器。从那里,使用同一网络发射的容器可以通过暴露的端口彼此通信。
如果您如前所述使用Docker Compose,当您运行docker-compose up
时,它将为您创建一个桥接网络,其名称与项目的文件夹匹配,并附加_default
。在合成文件中定义的每个映像都将自动在此网络中启动。
问题内容: 我有一个完全在MacBook本地运行的Webapp。 Webapp具有实现RESTful API的前端(Angular / Javascript)和后端(Python / Django)。 我已经对后端进行了Docker化,以使其完全独立于Docker容器并暴露端口8000。我将此端口本地映射到4026。 现在我需要对前端进行Docker化。但是,如果我在本地主机上运行了这两个dock
问题内容: 如何从Docker容器控制主机? 例如,如何执行复制到主机的bash脚本? 问题答案: 那真的取决于您需要该bash脚本执行的操作! 例如,如果bash脚本仅回显某些输出,则可以执行 另一种可能性是您希望bash脚本安装某些软件-例如要安装docker-compose的脚本。你可以做类似的事情 但是,此时,您真的必须深入了解脚本在做什么,以允许容器从容器内部对其主机授予特定权限。
如何从docker容器控制主机? 例如,如何执行复制到主机的bash脚本?
我现在很困惑。我尝试了很多我可以在网上找到的东西,但是,没有一个解决它。我使用WSL2安装了Win10和Docker desktop来托管Linux容器。我使用以下命令启动詹金斯网站。 这个很管用。我可以使用访问网站 谢谢你 编辑:只是想解释一下我做了什么来解决我的问题。创建network是我最初所做的,但由于我卷曲网页的方式错误,所以失败了。我做只是为了便于在上定位我的容器。但是,正如我的问题中
问题内容: 我有几个Docker容器,还有一个特例,其中两个必须互相交谈,因此它们必须通过链接最多彼此了解。我可以将一个容器链接到另一个容器,但是问题是,我不能告诉他们第二个容器可以与第一个容器对话。 我尝试创建并运行第一个容器并将其停止,然后创建了第二个容器并同时将其停止。接下来,我再次启动了第一个容器并链接到第二个容器,并启动了第二个容器并链接到第一个容器。此后,我的机器发疯了,docker进
问题内容: 我正在使用docker-compose构建完整的开发堆栈。 该应用程序需要一个mysql服务器才能工作。 mysql服务器是由docker-compose设置的外部容器: 该应用程序具有自己的docker-compose.yml并引用了mysql容器: 我无法在docker-compose中传递它们,因为它是动态的。 我知道应用程序知道mysql IP地址,因为我设置了某些变量: 但这