【问题标题】:Can a docker container connect to a mysql db not in another docker container? [closed]docker容器可以连接到不在另一个docker容器中的mysql db吗? [关闭]
【发布时间】:2021-03-21 20:30:34
【问题描述】:

我是 docker 新手,正在尝试为 ETL 实现 debezium。我们面临的问题是我们的数据库存在于不涉及 docker 的服务器上,我们希望连接到该数据库并捕获 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"' 来自守护进程的错误响应:选项冲突:主机类型网络不能与链接一起使用。

标签: mysql docker etl debezium


【解决方案1】:

是的,只要运行 Kafka Connect 的 Docker 容器有通往 MySQL 服务器的网络路由就可以了。

这是Debezium with MySQL 的示例;在这种情况下,它连接到 Docker 上的 MySQL,但您只需将 "database.hostname": "mysql", 更改为指向 MySQL 服务器的实际 IP 或主机名。

【讨论】:

    猜你喜欢
    • 2019-09-04
    • 2021-07-18
    • 2019-02-24
    • 2021-05-09
    • 2020-01-30
    • 1970-01-01
    • 2017-10-15
    • 2019-08-04
    • 2019-04-14
    相关资源
    最近更新 更多