【问题标题】:Connecting to host network of a docker inside a docker image在 docker 镜像中连接到 docker 的主机网络
【发布时间】:2018-08-05 16:01:00
【问题描述】:

我有一个 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

【问题讨论】:

  • 如果您想要一个更准确的答案,您将不得不显示您的docker-compose.yaml - 但与此同时,共享音量应该足够了。请参阅我在这里所做的回复:stackoverflow.com/questions/48990341/…(提示您所追求的只是卷映射路径)

标签: docker docker-compose docker-networking docker-network localstack


【解决方案1】:

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

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

为此增强并提高了PR#883

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    • 2023-03-21
    • 2020-06-14
    • 2017-06-01
    • 1970-01-01
    相关资源
    最近更新 更多