c# - 尝试访问Docker容器时对等连接重置

标签 c# docker docker-compose

我知道这可能是一个重复性的问题
但是我已经尝试了几乎所有方法,但都没有成功!

问题是我可以与3个图像中的2个成功通信,但是所有连接都将从 rotbeh.net.api 重置

我执行到容器并成功执行curl localhost:5000,但是从外面什么都不会发生

我的API由C#net core 3.1和
这是我的docker-compose文件:

version: '3.8'

services:
  sqlserver:
    container_name: sqlserver
    image: mssql2019fts
    restart: always
    volumes:
      - '/var/opt/mssql/data:/var/opt/mssql/data'
    environment:
      - ACCEPT_EULA='Y'
      - SA_PASSWORD=******
      - FullText=true
    ports:
      - '1433:1433'

  rotbeh.net.api:
    container_name: rotbeh.net.api
    image: rotbeh.net.api
    environment:
      - ASPNETCORE_ENVIRONMENT=Production
    restart: always
    ports:
      - '5000:5000'
    depends_on:
      - sqlserver

  rotbeh.net-ui:
    container_name: rotbeh.net-ui
    image: rotbeh.net-ui
    restart: always
    ports:
      - '3000:3000'
    depends_on:
      - rotbeh.net.api

最佳答案

您需要在容器中监听“0.0.0.0”。您的侦听器值应类似于:

{
   "Host":{
      "BaseUrl":"0.0.0.0",
      "Port":5000
   },
   "Kestrel":{
      "Endpoints":{
         "HttpsDefaultCert":{
            "Url":"0.0.0.0:5000",
            "Protocols":"Http1"
         }
      }
   }
}

关于c# - 尝试访问Docker容器时对等连接重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61852105/

相关文章:

docker - 将docker-compose环境变量转储到文件中

node.js - 无法在 docker 容器中全局正确安装 npm 包

c# - 如何使用选择框扩展身份用户属性

c# - C#中超出基本类型的数字

c# - 将所有 DLL 嵌入 win app 和 C#

docker - "./docker-compose.yml"中的版本不受支持

docker - 在 docker-compose 文件中使用 image-file

c# - Action 属性

docker - docker-compose我可以从哪里获得有关发生了什么的详细日志(信息)

mysql - 连接到 docker-compose mysql 容器会拒绝访问,但运行相同镜像的 docker 不会