【问题标题】:Docker Setup - Networking between multiple containersDocker 设置 - 多个容器之间的网络
【发布时间】:2020-01-28 17:22:54
【问题描述】:

在我的 linux 服务器上,我正在运行 3 张图片 -

A) Docker 和 Zookeeper 与这个 docker-compose 文件 -

version: '2'
services:
  zookeeper:
    image: wurstmeister/zookeeper:3.4.6
    ports:
     - "2181:2181"
  kafka:
    image: wurstmeister/kafka:2.11-2.0.0
    ports:
     - "9092:9092"
    expose:
     - "9093"
    environment:
      KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka:9093,OUTSIDE://localhost:9092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
      KAFKA_LISTENERS: INSIDE://0.0.0.0:9093,OUTSIDE://0.0.0.0:9092
      KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 

这将向主机打开 kafka 代理。

B) JupyterHub

docker run -v /notebooks:/notebooks -p 8000:8000 jupyterhub

C) Confluent Schema Registry(我还没有尝试过,但在我的最终设置中,我也会有一个模式注册表容器)

docker run confluentinc/cp-schema-registry

两者都在启动时没有任何问题。但是如何打开 jupyterhub 容器到 kafka 容器和模式注册表端口,以便我的 python 脚本可以访问代理。

【问题讨论】:

    标签: docker apache-kafka docker-compose docker-machine confluent-platform


    【解决方案1】:

    我假设你想按需运行你的 jupyter notebook 容器,而你的 zookeeper 和 kafka 容器总是分开运行?您可以创建一个docker network 并将所有容器加入此网络。然后您的容器将能够通过它们的名称相互解析。

    1. Create a network
    2. Specify this network in compose file
    3. 使用docker run 启动其他容器时,请使用--network 选项。

    【讨论】:

      【解决方案2】:

      如果你运行docker network ls,那么你可以找到Compose creates for you所在的网络名称;它将被命名为directoryname_default。然后,您可以启动连接到该网络的容器,

      docker run --net directoryname_default confluentinc/cp-schema-registry
      

      如果您可以将这些文件包含在同一个 docker-compose.yml 文件中,那么您不需要做任何特别的事情。特别是这可能对 Confluent 模式注册表有意义,如果您使用 Avro 消息,您可以将其视为 Kafka 堆栈的核心部分。

      您可以在此处使用 Docker Compose 服务名称 kafka 作为主机名,但由于您需要连接到“内部”侦听器,您需要配置一个非默认端口 9093。(Docker Compose @ 987654327@ 指令作用不大,您可以放心删除它。)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-30
        • 1970-01-01
        • 2019-11-16
        • 1970-01-01
        相关资源
        最近更新 更多