Я новичок в докере и пытаюсь внедрить debezium для ETL. Проблема, с которой мы сталкиваемся, заключается в том, что наша БД присутствует на сервере, который не использует докер, и мы хотим подключиться к этой БД и захватить CDC. Мои вопросы: можем ли мы подключиться к базе данных, не меняя ее? Любое руководство будет оценено. Спасибо.
Извините за поздний ответ. Вот где я застрял: docker run -it --name zookeeper -p 2181:2181 -p 2888:2888 -p 3888:3888 debezium/zookeeper:1.3 docker run -it --name kafka -p 9092:9092 - -link zookeeper:zookeeper debezium/kafka:1.3 docker run -it --name mysql --network=host mysql mysql -h 127.0.0.1 -uroot -p docker run -it --rm --name mysqlterm --link mysql mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"' Ответ об ошибке от демона: конфликтующие параметры: сеть типа хоста не может использоваться со ссылками.
Да, пока ваш контейнер Docker, на котором работает Kafka Connect, имеет сетевой маршрут к вашему серверу MySQL, все будет в порядке.
Вот пример Debezium с MySQL; в этом случае он подключается к MySQL на Docker, но вы просто измените "database.hostname": "mysql",
, чтобы указать на фактический IP-адрес или имя хоста вашего сервера MySQL.
Да почему бы и нет? Что вы пробовали до сих пор, где вы застряли?