내 Linux 서버에서 3 개의 이미지를 실행하고 있습니다.
A)이 docker-compose 파일이있는 Docker 및 Zookeeper-
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 컨테이너 및 스키마 레지스트리 포트에 어떻게 열 수 있습니까?
zookeeper와 kafka 컨테이너는 항상 별도로 실행되는 반면 주문형 jupyter 노트북 컨테이너를 실행하고 싶다고 가정합니다. Docker 네트워크를 만들고 모든 컨테이너를이 네트워크에 연결할 수 있습니다. 그러면 컨테이너가 이름으로 서로를 확인할 수 있습니다.
docker run
사용하십시오 --network
.이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다