0

我有一个 docker-compose 堆栈一起运行多个图像。

一旦我有了 docker 堆栈,我就会运行一个本地堆栈和一个 mongo。在 Local-stack 中,如果要执行 lambda,则会启动一个新的 docker 映像。从 lambda 图像我需要连接到现有堆栈中的 mongo 图像。

docker.sock 访问权限已经提供给本地堆栈,因此它会在我的主机中创建一个新的 docker 映像。现在从 lambda 到 mongo 没有建立到网络的连接。既不是通过应用环回地址也不是通过 docker-compose.yml 中提到的网络别名

你能帮我如何建立连接...?

更新

我的 docker-compose.yml

version: '2'
services:
  mongo:
    image: mongo:3.5
    networks:
      apitests:
        aliases:
          - mongo
    ports:
      - "27017:27017"
  localstack:
    image: localstack/localstack
    ports:
      - "4567-4583:4567-4583"
      - "4050:4050"
    env_file:
      - localstack-config.list
    volumes:
      - "/tmp/localstack:/tmp/localstack"
      - "/var/run/docker.sock:/var/run/docker.sock"
    networks:
      apitests:
        aliases:
          - localaws

networks:
  apitests: {}

我的 localstack-config.list

SERVICES=sqs,sns,lambda,s3
DEBUG=1
DEFAULT_REGION=eu-west-1
PORT_WEB_UI=4050
LAMBDA_EXECUTOR=docker
DOCKER_HOST=unix:///var/run/docker.sock
LAMBDA_REMOTE_DOCKER=false

4

1 回答 1

0

似乎本地堆栈在代码中有一个错误,新生成的 docker 映像无法访问本地堆栈网络。

也没有提供任何此类访问的规定,因为只有一个临时图像是在旅途中创建的。

增强并为此提出了PR#883

于 2018-08-05T08:01:00.157 回答