diff --git a/documentation/modules/ROOT/pages/tutorial.adoc b/documentation/modules/ROOT/pages/tutorial.adoc index 8fef92eb2..6eda39451 100644 --- a/documentation/modules/ROOT/pages/tutorial.adoc +++ b/documentation/modules/ROOT/pages/tutorial.adoc @@ -31,6 +31,13 @@ For more information, see link:https://docs.docker.com/engine/installation/[the For this tutorial, do not run Docker in a virtual machine (using Docker Machine). ==== +ifdef::community[] +[NOTE] +==== +This example can also be run using Podman. For more information see link:https://podman.io/[Podman] +==== +endif::community[] + include::{partialsdir}/modules/tutorial/con-introduction-debezium.adoc[leveloffset=+1] include::{partialsdir}/assemblies/tutorial/assembly-starting-services.adoc[leveloffset=+1] diff --git a/documentation/modules/ROOT/partials/modules/tutorial/proc-cleaning-up.adoc b/documentation/modules/ROOT/partials/modules/tutorial/proc-cleaning-up.adoc index bcdb74929..5629ce033 100644 --- a/documentation/modules/ROOT/partials/modules/tutorial/proc-cleaning-up.adoc +++ b/documentation/modules/ROOT/partials/modules/tutorial/proc-cleaning-up.adoc @@ -22,6 +22,18 @@ Docker stops each container. Because you used the `--rm` option when you started them, Docker also removes them. -- +ifdef::community[] +[NOTE] +==== +For Podman use the below command +[source,shell,options="nowrap",subs="+attributes"] +---- +$ sudo podman pod kill dbz +$ sudo podman pod rm dbz +---- +==== +endif::community[] + . Verify that all of the processes have stopped and have been removed: + -- diff --git a/documentation/modules/ROOT/partials/modules/tutorial/proc-registering-connector-monitor-inventory-database.adoc b/documentation/modules/ROOT/partials/modules/tutorial/proc-registering-connector-monitor-inventory-database.adoc index f667e96bc..fafc799a3 100644 --- a/documentation/modules/ROOT/partials/modules/tutorial/proc-registering-connector-monitor-inventory-database.adoc +++ b/documentation/modules/ROOT/partials/modules/tutorial/proc-registering-connector-monitor-inventory-database.adoc @@ -104,6 +104,17 @@ Otherwise, you might see an error like the following: endif::[] -- +ifdef::community[] +[NOTE] +==== +For Podman use the below command +[source,shell,options="nowrap",subs="+attributes"] +---- +$ curl -i -X POST -H "Accept:application/json" -H "Content-Type:application/json" localhost:8083/connectors/ -d '{ "name": "inventory-connector", "config": { "connector.class": "io.debezium.connector.mysql.MySqlConnector", "tasks.max": "1", "database.hostname": "0.0.0.0", "database.port": "3306", "database.user": "debezium", "database.password": "dbz", "database.server.id": "184054", "database.server.name": "dbserver1", "database.include.list": "inventory", "database.history.kafka.bootstrap.servers": "0.0.0.0:9092", "database.history.kafka.topic": "dbhistory.inventory" } }' +---- +==== +endif::community[] + . Verify that `inventory-connector` is included in the list of connectors: + -- diff --git a/documentation/modules/ROOT/partials/modules/tutorial/proc-starting-kafka-connect.adoc b/documentation/modules/ROOT/partials/modules/tutorial/proc-starting-kafka-connect.adoc index 49a18caa2..9f5217d16 100644 --- a/documentation/modules/ROOT/partials/modules/tutorial/proc-starting-kafka-connect.adoc +++ b/documentation/modules/ROOT/partials/modules/tutorial/proc-starting-kafka-connect.adoc @@ -32,6 +32,17 @@ This enables applications outside of the container to use Kafka Connect's REST A `--link zookeeper:zookeeper --link kafka:kafka --link mysql:mysql`:: Links the container to the containers that are running ZooKeeper, Kafka, and the MySQL server. -- +ifdef::community[] +[NOTE] +==== +For Podman use the below command +[source,shell,options="nowrap",subs="+attributes"] +---- +$ sudo podman run -it --rm --name connect --pod dbz -e GROUP_ID=1 -e CONFIG_STORAGE_TOPIC=my_connect_configs -e OFFSET_STORAGE_TOPIC=my_connect_offsets -e STATUS_STORAGE_TOPIC=my_connect_statuses debezium/connect:{debezium-docker-label} +---- +==== +endif::community[] + . Verify that Kafka Connect started and is ready to accept connections. + -- diff --git a/documentation/modules/ROOT/partials/modules/tutorial/proc-starting-kafka.adoc b/documentation/modules/ROOT/partials/modules/tutorial/proc-starting-kafka.adoc index 5da7396c8..dc8d153cd 100644 --- a/documentation/modules/ROOT/partials/modules/tutorial/proc-starting-kafka.adoc +++ b/documentation/modules/ROOT/partials/modules/tutorial/proc-starting-kafka.adoc @@ -45,6 +45,17 @@ which means the terminal's standard input and output are attached to the contain `--link zookeeper:zookeeper`:: Tells the container that it can find ZooKeeper in the `zookeeper` container, which is running on the same Docker host. +ifdef::community[] +[NOTE] +==== +For Podman use the below command +[source,shell,options="nowrap",subs="+attributes"] +---- +$ sudo podman run -it --rm --name kafka --pod dbz debezium/kafka:{debezium-docker-label} +---- +==== +endif::community[] + [NOTE] ==== In this tutorial, you will always connect to Kafka from within a Docker container. diff --git a/documentation/modules/ROOT/partials/modules/tutorial/proc-starting-mysql-command-line-client.adoc b/documentation/modules/ROOT/partials/modules/tutorial/proc-starting-mysql-command-line-client.adoc index 555fc977f..c0108e210 100644 --- a/documentation/modules/ROOT/partials/modules/tutorial/proc-starting-mysql-command-line-client.adoc +++ b/documentation/modules/ROOT/partials/modules/tutorial/proc-starting-mysql-command-line-client.adoc @@ -28,6 +28,17 @@ which means the terminal's standard input and output are attached to the contain `--link mysql`:: Links the container to the `mysql` container. -- +ifdef::community[] +[NOTE] +==== +For Podman use the below command +[source,shell,options="nowrap",subs="+attributes"] +---- +$ sudo podman run -it --rm --name mysqlterm --pod dbz --rm mysql:5.7 sh -c 'exec mysql -h 0.0.0.0 -uroot -pdebezium' +---- +==== +endif::community[] + . Verify that the MySQL command line client started. + -- diff --git a/documentation/modules/ROOT/partials/modules/tutorial/proc-starting-mysql-database.adoc b/documentation/modules/ROOT/partials/modules/tutorial/proc-starting-mysql-database.adoc index 642595c92..b88feb4ca 100644 --- a/documentation/modules/ROOT/partials/modules/tutorial/proc-starting-mysql-database.adoc +++ b/documentation/modules/ROOT/partials/modules/tutorial/proc-starting-mysql-database.adoc @@ -31,6 +31,17 @@ which means the terminal's standard input and output are attached to the contain `-e MYSQL_ROOT_PASSWORD=debezium -e MYSQL_USER=mysqluser -e MYSQL_PASSWORD=mysqlpw`:: Creates a user and password that has the minimum privileges required by the {prodname} MySQL connector. -- +ifdef::community[] +[NOTE] +==== +For Podman use the below command +[source,shell,options="nowrap",subs="+attributes"] +---- +$ sudo podman run -it --rm --name mysql --pod dbz -e MYSQL_ROOT_PASSWORD=debezium -e MYSQL_USER=mysqluser -e MYSQL_PASSWORD=mysqlpw debezium/example-mysql:{debezium-docker-label} +---- +==== +endif::community[] + . Verify that the MySQL server starts. + -- diff --git a/documentation/modules/ROOT/partials/modules/tutorial/proc-starting-zookeeper.adoc b/documentation/modules/ROOT/partials/modules/tutorial/proc-starting-zookeeper.adoc index a29bd9f43..2224623b0 100644 --- a/documentation/modules/ROOT/partials/modules/tutorial/proc-starting-zookeeper.adoc +++ b/documentation/modules/ROOT/partials/modules/tutorial/proc-starting-zookeeper.adoc @@ -28,6 +28,18 @@ which means the terminal's standard input and output are attached to the contain This enables other containers (and applications outside of the container) to communicate with ZooKeeper. -- +ifdef::community[] +[NOTE] +==== +For Podman use the below commands +[source,shell,options="nowrap",subs="+attributes"] +---- +$ sudo podman pod create --name=dbz --publish "9092,3306,8083" +$ sudo podman run -it --rm --name zookeeper --pod dbz debezium/zookeeper:{debezium-docker-label} +---- +==== +endif::community[] + . Verify that ZooKeeper started and is listening on port `2181`. + -- diff --git a/documentation/modules/ROOT/partials/modules/tutorial/proc-viewing-create-event.adoc b/documentation/modules/ROOT/partials/modules/tutorial/proc-viewing-create-event.adoc index f9dd8c014..6aa6d9bad 100644 --- a/documentation/modules/ROOT/partials/modules/tutorial/proc-viewing-create-event.adoc +++ b/documentation/modules/ROOT/partials/modules/tutorial/proc-viewing-create-event.adoc @@ -29,6 +29,15 @@ Without this option, `watch-topic` would only show the events recorded after you Specifies that the output should include the event's key. In this case, this contains the row's primary key. +[NOTE] +==== +For Podman use the below command +[source,shell,options="nowrap",subs="+attributes"] +---- +$ sudo podman run -it --rm --name watcher --pod dbz debezium/kafka:{debezium-docker-label} watch-topic -a -k dbserver1.inventory.customers +---- +==== + The `watch-topic` utility returns the event records from the `customers` table. There are four events, one for each row in the table. Each event is formatted in JSON, because that is how you configured the Kafka Connect service.