anchor.diff:  
   == Starting simple with Debezium
   
  -For simple evaluation and experimentation, this tutorial will walk you through starting a single instance of each service in a separate container on your local machine. Zookeeper and Kafka both store data locally inside the container, and normal usage requires mounting directories on the host machines as volumes so that when the containers stop the persisted data will remain. We're skipping that in this tutorial, although the documentation for our https://hub.docker.com/r/debezium/[Docker images] describes how to do that. This means that when a container is removed, all persisted data will be lost. That's actually ideal for our experiment, since nothing will be left on your computer when we're finished, and you can run this experiment many times without having to clean anything up in between.
  +For simple evaluation and experimentation, this tutorial will walk you through starting a single instance of each service in a separate container on your local machine. ZooKeeper and Kafka both store data locally inside the container, and normal usage requires mounting directories on the host machines as volumes so that when the containers stop the persisted data will remain. We're skipping that in this tutorial, although the documentation for our https://hub.docker.com/r/debezium/[Docker images] describes how to do that. This means that when a container is removed, all persisted data will be lost. That's actually ideal for our experiment, since nothing will be left on your computer when we're finished, and you can run this experiment many times without having to clean anything up in between.
   
   Running multiple services locally can be confusing, so we're going to use a separate terminal to run each container in the foreground. This way all of the output of a container will be displayed in the terminal used to run it.
   
  
positive.code: ====
  
  [[start-zookeeper]]
  === Start Zookeeper
  
  Of all the different services/processes that make up Debezium, the first one to start is Zookeeper. Start a new terminal and start a container with Zookeeper by running:
  
  [source,bash,subs="attributes"]
  ----
  $ docker run -it --rm --name zookeeper -p 2181:2181 -p 2888:2888 -p 3888:3888 debezium/zookeeper:{debezium-docker-label}
  ----
  
  This runs a new container using version {debezium-docker-label} of the `debezium/zookeeper` image, and assigns the name `zookeeper` to this container. The `-it` flag makes the container interactive, meaning it attaches the terminal's standard input and output to the container so that you can see what is going on in the container. The `--rm` flag instructs Docker to remove the container when it is stopped. The three `-p` options map three of the container's ports (e.g., 2181, 2888, and 3888) to the same ports on the Docker host so that other containers (and software outside the container) can talk with Zookeeper.
  
  You should see in your terminal the typical output of Zookeeper:
  
  [listing,indent=0,options="nowrap"]
  ----
  
negative.code: [[start-mysql]]
  === Start a MySQL database
  
  At this point, we've started ZooKeeper and Kafka, but we don't yet have a database server from which Debezium can capture changes. Now, let's start a MySQL server with an example database.
  
  Open a new terminal, and use it to start a new container that runs a MySQL database server preconfigured with an `inventory` database:
  
  