Docker-toolbox mariadb容器

时间:2019-04-26 18:41:58

标签: mariadb virtualbox docker-toolbox

我在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”和IP我通过“ docker-machine ip default”获得的IP连接到Windows中的数据库系统

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

  5. 确保在/etc/mysql/my.cnf内部注释掉了“ #bind = 127.0.01”

我真的不知道该怎么办才能找到问题所在。 Mariadb日志只是说它已准备好进行连接,但我似乎无法实现。

有什么主意我可以找到这个问题吗?

1 个答案:

答案 0 :(得分:1)

我解决了。问题是我运行容器的命令缺少 store(balade: Balade): Observable<Balade[]> { return this.http.post(`${this.baseUrl}/store.php`, { data: balade }) .pipe(map((res) => { this.balades = this.balades || []; this.balades.push(res['data']); return this.balades; }), catchError(this.handleError)); } 选项,使我的容器未绑定到正确的端口(?)。

工作命令:

-p

最重要的是,我注意到在VirtualBox中更改端口转发选项需要重新启动所述计算机:

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

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

docker-machine restart default