- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个非常简单的 docker 设置——React WebApp(管理面板)和 .netCore Customer Api,它们连接到桥接网络。我实际上是在创建健康检查监视器。
两个容器都已连接,我可以通过 ip 和容器名称进行 ping 操作,没有任何问题。当我 curl 健康检查端点时,它工作正常。
但是,当我从 admin-app react 代码的相同 url 中获取数据时,它会抛出 net::ERR_NAME_NOT_RESOLVED docker。请在此处查看代码
async loadData() {
try {
fetch('http://customer-api:5000/api/hc')
.then(function (response) {
console.log(response)
});
} catch (e) {
console.log(e);
}
}
到目前为止我做了什么-
管理应用程序 docker
# pull official base image
FROM node:13.12.0-alpine
# set working directory
WORKDIR /app
# add `/app/node_modules/.bin` to $PATH
ENV PATH /app/node_modules/.bin:$PATH
# install app dependencies
COPY admin-app/package.json ./
COPY admin-app/package-lock.json ./
RUN npm install --silent
RUN npm install react-scripts@3.4.1 -g --silent
# add app
COPY ./admin-app ./
# start app
CMD ["npm", "start"]
客户 api docker
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
FROM mcr.microsoft.com/dotnet/core/aspnet:3.0-buster-slim AS base
WORKDIR /app
ENV WEB_PORT=5000 \
ASPNETCORE_URLS=http://+:5000 \
ASPNETCORE_ENVIRONMENT="Local"
FROM mcr.microsoft.com/dotnet/core/sdk:3.0-buster AS build
WORKDIR /src
COPY ["customerprofile/Figg.Customer.Api/Figg.Customer.Api.csproj", "Figg.Customer.Api/"]
COPY ["core/Figg.Shared/Figg.Shared.csproj", "Figg.Shared/"]
COPY ["core/Figg.Core/Figg.Core.csproj", "Figg.Core/"]
COPY ["customerprofile/Figg.Customer.Domain/Figg.Customer.Domain.csproj", "Figg.Customer.Domain/"]
RUN dotnet restore "Figg.Customer.Api/Figg.Customer.Api.csproj"
COPY . .
WORKDIR "/src/customerprofile/Figg.Customer.Api"
RUN dotnet build "Figg.Customer.Api.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Figg.Customer.Api.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
EXPOSE $WEB_PORT
ENTRYPOINT ["dotnet", "Figg.Customer.Api.dll"]
任何想法
ping 正常
/app # ping customer-api
PING customer-api (172.21.0.2): 56 data bytes
64 bytes from 172.21.0.2: seq=0 ttl=64 time=0.062 ms
64 bytes from 172.21.0.2: seq=1 ttl=64 time=0.049 ms
64 bytes from 172.21.0.2: seq=2 ttl=64 time=0.068 ms
64 bytes from 172.21.0.2: seq=3 ttl=64 time=0.049 ms
64 bytes from 172.21.0.2: seq=4 ttl=64 time=0.094 ms
我找到了它没有到达我的容器的原因 - 但如何解决这个问题?请看这里的图片,这会解释
最佳答案
您的 Docker 容器正在您的主机(您自己的系统)上运行
Docker 向主机发布了以下端口:
顺便说一句:您提到的这 5000 是从哪里来的?我猜那是“8092:3000”字符串中的“3000”。打字错误?
主机可以到达 localhost:3000 (admin-app) 和 localhost:8092 (ClientAPI)。
如果一个容器需要到达另一个容器,它需要解决服务和内部端口。在您的图片中:AdminApp 可以使用 customer-api:3000(或 5000?打字错误?:-))访问 ClientAPI
如果您客户端渲染 AdminApp,那么它需要一个外部世界(主机之外)的 ClientAPI 地址。这意味着到达主机(您运行容器的计算机)并且该主机可以将请求传递给 customer-api:3000。
结论:您需要一个 ProxyServer(Nginx?)。将 Nginx 放在主机上(不建议)或作为另一个容器旁边的单独容器。在最后(也是最好的)选项中,您为每个容器提供一个 IP 地址,并让 Nginx 代理(动词)向正确的容器请求。
我们在自己的环境中运行这个,Nginx 为大约 6 个不同的容器提供服务。在主机上,我们有一个 docker(外部)网络,它将端口 80 和 443 的每个请求传递到 Nginx 容器中的 ProxyServer。该容器将每个请求(基于 Nginx 配置文件中的 server_name)传递到正确的容器。
关于c# - net::ERR_NAME_NOT_RESOLVED docker ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69115729/
我有两个部署,一个用于后端,一个用于前端,还有两个服务。前端服务设置为 LoadBalancer 并按预期公开(使用 minikube 隧道)。后端服务不应该暴露在集群之外,因此我没有设置任何类型的服
有什么想法吗? DocumentRoot "C:/laragon/www/monetize/public/" ServerName monetize.app ServerAlias *.monet
我已经在我的本地主机上安装了 socket.io,现在我将查看客户端/服务器通信。 我已经使用节点“server.js”启动了服务器。 我收到这个错误 ERR_NAME_NOT_RESOLVED 用这
我将Docker用于我的dev本地堆栈。 我为symfony项目配置了一个主机名: 网址是:http://dev.test.proprietes-privees.com/ 在我的symfony中,我尝
运行 4 个 docker 容器:server/client/nginx/mongo reverse-proxy客户端似乎在端口 4200 上工作,我可以看到我的应用程序和路由工作。尝试注册用户时,我
我已经在 GKE 中部署了一个 mongo db、Spring Boot BE、Angular 应用程序。我的 FE 服务是一个负载均衡器,它需要与我的 BE 连接才能获取数据,但我的浏览器出现控制台
我有一个非常简单的 docker 设置——React WebApp(管理面板)和 .netCore Customer Api,它们连接到桥接网络。我实际上是在创建健康检查监视器。 两个容器都已连接,我
我确实收到 Android 手机用户发来的消息,称我的网站未加载。 当 Android 手机点击链接访问我的网站时,会出现错误:net::err_name_not_resolved 在计算机和 iPh
我有一个 django 项目,我正在尝试将幻灯片加载到光滑的轮播中( http://kenwheeler.github.io/slick/ )。我有以下内容: your content your
我目前正在使用带有 LAMP 的树莓派 (RPI) 在我的本地网络上托管我的网页,该网络使用 websocket 流式传输一些表示 LED 状态的数据。我的问题是,在尝试建立 websocket 连接
我的应用程序允许用户指定一个服务器名称,这是他们安装我们的 api 的地方。这样应用程序的其余部分就可以调用该端点。 但是,如果我们收到类似 ERR_NAME_NOT_RESOLVED 的错误,我需要
我正在向 AWS 发出 Get 请求。通过浏览器(Javascript)获取存储桶列表。我收到以下错误: Failed to load resource: net::ERR_NAME_NOT_RESO
我有一个通过 webview 加载的应用程序。我能够登录到已通过 webview 启动的应用程序。但是在注销期间,它会针对发送注销请求的服务器不断抛出 ERR_NAME_NOT_RESOLVED 错误
当我尝试使用 reangular 进行放置或删除时,出现此错误,并且 getList() 工作正常,当我要编辑 mi 对象时,我创建一个像这样的对象 edited = Restangular.copy
您好,我正在使用 JW 播放器在我的网站中播放 Flash 视频。视频可以在除 chrome 之外的浏览器中播放。我尝试过在 Mozilla 和 Safari 中播放。当我检查 chrome 控制台时
这是 head 标签中的代码: 在控制台中我得到以下信息: GET https://use.fontawesome.com/releases/v5.7.1/css/all.css net::ERR_
我在从 Digital Ocean 切换到 Cloudways Digital Ocean 计划时遇到了一个有趣的问题。样式和图像未加载到网站上,出现错误“ERR_NAME_NOT_RESOLVED”
在 Windows 8 x64(最新的稳定版本)上使用 Android Studio。我有一个非常简单的项目,只有一个指向 google.com 的 WebView,但每次我在模拟器中启动该应用程序时
我正在编写一个向远程服务器发出 HTTP 请求的 javascript 应用程序。用户将输入主机名。 如果他们输入无法解析的 DNS 名称,我想提供诊断消息。这是当前代码: var req, t, u
flutter webview net::ERR_NAME_NOT_RESOLVED请注意,发布时显示的问题不是调试 WebView( initialUrl: widget.url, onP
我是一名优秀的程序员,十分优秀!