如何从Docker容器连接到远程服务

问题描述 投票:1回答:1

我需要在docker容器中运行的dotnet核心应用程序通过其IP连接到某些外部服务,其中之一是在google云托管的远程服务器上单独运行的sql数据库。当不使用docker运行时,该应用程序运行没有问题,但是使用docker时,它失败并显示[]

An error occurred using the connection to database 'PartnersDb' on server '30.xx.xx.xx,39876'.
fail: Microsoft.EntityFrameworkCore.Update[10000]
      An exception occurred in the database while saving changes for context type 'Partners.Api.Infrastructure.Persistence.MoneyTransferDbContext'.
      System.InvalidOperationException: Timeout expired.  The timeout period elapsed prior to obtaining a connection from the pool.  This may have occurred because all pooled conn
ections were in use and max pool size was reached.

我的Docker撰写文件看起来像这样

version: "3.5"
networks:
  my-network:
    name: my_network

services:
  partners:
    image: partners.api:latest
    container_name: partners
    build:
      context: ./
    restart: always
    ports:
      - "8081:80"
    environment:
      - ASPNETCORE_ENVIRONMENT=Docker
      - ConnectionStrings:DefaultConnection=Server=30.xx.xx.xx,39876;Database=PartnersDb;User Id=don;Password=Passwor123$$
    networks:
      - my-network
    volumes:
      - /Users/mine/Desktop/logs⁩:/logs

我有

  1. bin摔进了正在运行的容器中,我可以对远程sql数据库服务器
  2. 我也可以远程登录到数据库端口上的远程sql数据库服务器
  3. 但是,当我做docker-compose时出现问题,然后出现上述错误。Docker版本19.03.5,内部版本633a0ea在MacOS Mojave 10.14.6上运行]

我现在真的不知道该怎么办。

我需要在docker容器中运行的dotnet核心应用程序通过其IP连接到某些外部服务,其中之一是在google托管的远程服务器上单独运行的sql数据库...

docker .net-core docker-compose docker-networking
1个回答
0
投票

有两个独立的网络。泊坞窗内部是一个单独的网络。在docker外部,在主机上,这是一个不同的网络。如果您通过本地主机或IP地址访问它,它将无法正常运行。

© www.soinside.com 2019 - 2024. All rights reserved.