update docker setup

diff --git a/operations-playground/docker-compose.yaml b/operations-playground/docker-compose.yaml
index 5478271..a031fbd 100644
--- a/operations-playground/docker-compose.yaml
+++ b/operations-playground/docker-compose.yaml
@@ -16,7 +16,6 @@
 # limitations under the License.
 ################################################################################
 
-version: "2.1"
 services:
   client:
     build: ../docker/ops-playground-image
@@ -55,19 +54,15 @@
       - flink_data:/tmp/
     environment:
       - JOB_MANAGER_RPC_ADDRESS=jobmanager
-  zookeeper:
-    image: wurstmeister/zookeeper:3.4.6
   kafka:
-    image: wurstmeister/kafka:2.13-2.8.1
+    image: 'bitnami/kafka:3.9.0'
     environment:
-      KAFKA_ADVERTISED_LISTENERS: INSIDE://:9092,OUTSIDE://:9094
-      KAFKA_LISTENERS: INSIDE://:9092,OUTSIDE://:9094
-      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
-      KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
-      KAFKA_CREATE_TOPICS: "input:2:1, output:2:1"
-      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
-    ports:
-      - 9092:9092
-      - 9094:9094
+      - KAFKA_CFG_NODE_ID=0
+      - KAFKA_CFG_NUM_PARTITIONS=2
+      - KAFKA_CFG_PROCESS_ROLES=controller,broker
+      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
+      - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
+      - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093
+      - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
 volumes:
   flink_data:
diff --git a/pyflink-walkthrough/docker-compose.yml b/pyflink-walkthrough/docker-compose.yml
index fe89ff6..7d7790e 100644
--- a/pyflink-walkthrough/docker-compose.yml
+++ b/pyflink-walkthrough/docker-compose.yml
@@ -16,7 +16,6 @@
 # limitations under the License.
 ################################################################################
 
-version: '2.1'
 services:
   jobmanager:
     build: .
@@ -45,24 +44,15 @@
       - jobmanager:jobmanager
     environment:
       - JOB_MANAGER_RPC_ADDRESS=jobmanager
-  zookeeper:
-    image: wurstmeister/zookeeper:3.4.6
-    ulimits:
-      nofile:
-        soft: 65536
-        hard: 65536
-    ports:
-      - "2181:2181"
   kafka:
-    image: wurstmeister/kafka:2.13-2.8.1
-    ports:
-      - "9092:9092"
-    depends_on:
-      - zookeeper
+    image: 'bitnami/kafka:3.9.0'
     environment:
-      HOSTNAME_COMMAND: "route -n | awk '/UG[ \t]/{print $$2}'"
-      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
-      KAFKA_CREATE_TOPICS: "payment_msg:1:1"
+      - KAFKA_CFG_NODE_ID=0
+      - KAFKA_CFG_PROCESS_ROLES=controller,broker
+      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
+      - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
+      - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093
+      - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
   generator:
     build: generator
     image: generator:1.0
diff --git a/table-walkthrough/docker-compose.yml b/table-walkthrough/docker-compose.yml
index 4b55331..655091a 100644
--- a/table-walkthrough/docker-compose.yml
+++ b/table-walkthrough/docker-compose.yml
@@ -16,7 +16,6 @@
 # limitations under the License.
 ################################################################################
 
-version: '2.1'
 services:
   jobmanager:
     image: apache/flink-table-walkthrough:1-FLINK-1.16-scala_2.12
@@ -45,22 +44,15 @@
       - jobmanager:jobmanager
     environment:
       - JOB_MANAGER_RPC_ADDRESS=jobmanager
-  zookeeper:
-    image: wurstmeister/zookeeper:3.4.6
-    ports:
-      - "2181:2181"
   kafka:
-    image: wurstmeister/kafka:2.13-2.8.1
-    ports:
-      - "9092:9092"
-    depends_on:
-      - zookeeper
+    image: 'bitnami/kafka:3.9.0'
     environment:
-      KAFKA_ADVERTISED_HOST_NAME: "kafka"
-      KAFKA_ADVERTISED_PORT: "9092"
-      HOSTNAME_COMMAND: "route -n | awk '/UG[ \t]/{print $$2}'"
-      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
-      KAFKA_CREATE_TOPICS: "kafka:1:1"
+      - KAFKA_CFG_NODE_ID=0
+      - KAFKA_CFG_PROCESS_ROLES=controller,broker
+      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
+      - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
+      - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka:9093
+      - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
   data-generator:
       image: apache/data-generator:1
       build: ../docker/data-generator