visual-studio - 如何避免使用 Visual Studio 和 docker 容器在 API 上出现连接被拒绝错误?
问题描述
由于我使用 VPN 在家工作,因此无法为我的解决方案请求身份验证 API。
我正在开发一个带有两个 docker 容器的 .Net Core 应用程序,一个是应用程序,第二个是 DB2 数据库,我们有一个客户端给我们的身份验证 API,我们安装在我们的一台本地机器上。因此,一旦我通过 VPN 进行连接,我猜现在一切都在同一个网络中(我不是网络专家)。
现在,开发分支正在集成服务器和我同事的 PC 上工作,他也在家里通过 VPN 工作,所以我们在相同的条件下使用相同的代码。但是尝试进行身份验证时出现此错误:
唯一的区别应该来自我的环境,我确实有一些不同的东西:-他的环境
我的:
如您所见,我配置了 http_proxy,但我不知道它来自哪里。它使 docker 容器无法访问 Internet,因此我使用 a 将其删除,export http_proxy=
然后能够使用 apt-get install iputils-ping 检索 ping 包。使用此配置,我可以 ping 8.8.8.8,ping 安装 API 的本地计算机,甚至可以 curl http 身份验证 URL,但尝试在应用程序或 swagger 上启动身份验证时仍然无法连接。我认为问题出在 Visual Studio 环境/配置、docker 容器和网络之间,但我不知道在哪里。
这是我的 docker-compose.yml :
version: '3.4'
services:
db2server:
env_file: .\DB2\env_file
privileged: true
build:
context: .\DB2
ports:
- 50001:50001
- 55001:55001
volumes:
- .\DB2\data:/database
- .\DB2\scripts:/var/setup
- .\DB2\sql:/var/sql
openhostservice:
build:
context: .
dockerfile: OpenHostService/Dockerfile
image: ${DOCKER_REGISTRY-}openhostservice
depends_on:
- db2server
ports:
- 32780:80
networks:
default:
external:
name: ******
我尝试在全局 Windows 系统设置中使用和不使用代理配置,使用和不使用 http_proxy。
解决方案
请参阅此 SO 帖子中的评论,可能系统认为空环境变量与未设置变量不同,因此,请使用unset http_proxy
命令(对于其他环境变量也是如此)。如果没有帮助,请提供具有更高分辨率图像的环境配置(现在文本可读性不够)。
推荐阅读
- angular - 性能:使用@Input 和 getter/setter 的两种方式数据绑定
- jquery - 渲染响应不适用于 jquery ajax 请求
- php - 如何在 HEREDOC SQL 查询中使用 PHP 变量?
- java - Seq2Seq 模型 (DL4J) 做出荒谬的预测
- debugging - 在 VSCode 中触发扩展命令时,我如何知道执行了代码的哪一部分?
- azure - 无法访问 Azure 文件共享 | 端口 445
- firebase - Firestore 实时更新或 Sockets.io 用于实时聊天
- unity3d - Animator SetFloat(int 0) as Transition,现在是为了防止循环?
- java - 装饰器设计和工厂设计模式
- selenium-webdriver - 试图点击登录按钮,但它说元素不可交互