【问题标题】:Docker-toolbox mariadb containerDocker 工具箱 mariadb 容器
【发布时间】:2019-04-26 18:41:58
【问题描述】:

我在 Windows 8.1 中使用 docker-toolbox,我创建了一个名为 default 的 docker-machine(虚拟框),并在其中运行了一个 mariadb 容器。

我的问题是,我无法通过 Windows 系统上的 HeidiSQL 连接到所述数据库系统。

在 docker 容器中,我可以使用 mysql 命令并执行查询。

到目前为止我已经完成的步骤:

  1. 在虚拟框内添加端口转发:
    https://imgur.com/a/GcfcKgG

  2. 将链转发防火墙规则更改为接受
    证明:https://imgur.com/a/yxIBNvN

  3. 尝试通过 heidisql 使用 ip “localhost”、“127.0.0.1”和我通过“docker-machine ip default”获得的 ip 连接到 windows 中的数据库系统

  4. 通过“winpty docker exec -it mariadb bash”连接到 docker 容器以检查防火墙问题,但那里一切正常。

  5. 确保 /etc/mysql/my.cnf 中的“#bind =127.0.01”行被注释掉

我真的不知道该怎么做才能找到问题。 Mariadb 日志只是说它已准备好连接,但我似乎无法访问它。

知道如何追踪问题吗?

【问题讨论】:

    标签: mariadb virtualbox docker-toolbox


    【解决方案1】:

    我解决了。问题是我运行容器的命令缺少-p 选项,使我的容器没有绑定到正确的端口(?)。

    工作指令:

    docker run --name mdb -e MYSQL_ROOT_PASSWORD=admin_password_here -p 3306:3306 -d mariadb/server:10.1
    

    除此之外,我注意到更改 VirtualBox 中的端口转发选项需要重新启动所述机器:

    docker-machine restart default
    

    最后确保绑定地址行被注释掉。我尝试将它绑定到不同的地址,但没有留下它注释掉肯定有效:

    #bind =127.0.0.1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-29
      • 1970-01-01
      • 2020-04-13
      • 2015-11-11
      • 2015-11-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多