2

当我在没有 Docker 的情况下运行 kafka 和 zookeeper 时,我可以在 /tmp/kafka-logs 目录中看到主题分区日志文件。现在使用 Docker,即使我在 docker-compose.yml 的 Volumes 部分中指定了日志目录,我也看不到 docker VM 中的文件,例如“TOPICNAME-PARTITIONNUMBER”。这里有什么我遗漏的吗?关于我可以在 Docker 虚拟机中找到这些目录的任何想法..

zookeeper:
 image: confluent/zookeeper
 container_name: zookeeper
 ports:
   - "2181:2181"
   - "15001:15000"
 environment:
 ZK_SERVER_ID: 1
 volumes:
   - /tmp/docker/zk1/logs:/logs
   - /tmp/docker/zk1/data:/data

 kafka1:
  image: confluent/kafka
  container_name: kafka1
  ports:
    - "9092:9092"
    - "15002:15000"
  links:
    - zookeeper
  environment:
    KAFKA_BROKER_ID: 1
    KAFKA_OFFSETS_STORAGE: kafka
    # This is Container IP
    KAFKA_ADVERTISED_HOST_NAME: 192.168.99.100 

  volumes:
    - /tmp/docker/kafka1/logs:/logs
    - /tmp/docker/kafka1/data:/data
4

2 回答 2

5

这就是我们在撰写文件中为日志配置的方式,并且其中包含日志文件。您应该跳到容器上以查看“/var/lib/kafka/data”、目录和其中的数据

卷:

-kb1_data:/var/lib/kafka/data

于 2020-01-06T13:24:47.523 回答
0

请记住,docker-compose 中有关共享资源的卷、端口和其他字段的列表中的第一个参数是关于主机的,第二个是关于容器的。因此,您应该更改卷值的顺序。

zookeeper:
 image: confluent/zookeeper
 container_name: zookeeper
 ports:
   - "2181:2181"
   - "15001:15000"
 environment:
 ZK_SERVER_ID: 1
 volumes:
   #- ./host/folder:/container/folder
   - ./logs:/tmp/docker/zk1/logs
   - ./data:/tmp/docker/zk1/data
    
kafka1:
  image: confluent/kafka
  container_name: kafka1
  ports:
    #- "host-port:container-port"
    - "9092:9092"
    - "15002:15000"
  links:
    - zookeeper
  environment:
    - KAFKA_BROKER_ID: 1
    - KAFKA_OFFSETS_STORAGE: kafka
    - # This is Container IP
    - KAFKA_ADVERTISED_HOST_NAME: 192.168.99.100 
  volumes:
    #- ./host/folder:/container/folder
    - ./logs:/tmp/docker/kafka1/logs
    - ./data:/tmp/docker/kafka1/data
于 2021-10-28T14:26:03.517 回答