如何从localstack中的Lambda函数连接到mysql?

时间:2019-04-18 12:23:48

标签: c# mysql docker atlassian-localstack

我已经设置了在docker上运行的localstack。我有一个.Net Core 2.1 c#Lambda函数,它试图连接到localhost上的MySql数据库。这是我在控制台中得到的:

  

“无法连接到任何指定的MySQL主机”

这是我的连接字符串的样子:

  

“数据源=本地主机;初始目录= xxx;主机=本地主机;连接超时= 10;用户ID = xxxx;密码= xxxx; SSL模式=无”

我尝试了各种IP地址(127等),包括实时数据库连接字符串。

编辑(2019年4月23日): 我在localstack文件夹上运行的命令:

docker-compose up

这是我正在使用的docker文件:

version: '2.1'

services:   localstack:
    image: localstack/localstack
    ports:
      - "4567-4593:4567-4593"
      - "${PORT_WEB_UI-8080}:${PORT_WEB_UI-8080}"
    environment:
      - SERVICES=lambda,sqs,dynamodb,s3
      - DEBUG=1
      - DATA_DIR=/tmp/localstack/data
      - PORT_WEB_UI=${PORT_WEB_UI- }
      - LAMBDA_EXECUTOR=docker-reuse
      - KINESIS_ERROR_PROBABILITY=${KINESIS_ERROR_PROBABILITY- }
      - DOCKER_HOST=unix:///var/run/docker.sock
    volumes:
      - "${TMPDIR:-/tmp/localstack}:/tmp/localstack"
      - "/var/run/docker.sock:/var/run/docker.sock"

1 个答案:

答案 0 :(得分:0)

所以我自己解决了这个问题,毕竟我只是愚蠢...

我必须将MySql连接字符串的“主机”从“ localhost”更新为我的以太网适配器IP的IP地址,如下所示:

  

“数据源= 172.x.x.x ;初始目录= xxx;主机=本地主机;连接超时= 10;用户ID = xxxx;密码= xxxx; SSL模式=无”