首页 > 解决方案 > 如何在 docker 上远程访问 mariadb?

问题描述

我创建了一个包含 mariadb 实例的 docker 容器,但我无法从我的物理机器访问数据库:

在此处输入图像描述

我从 docker inspect 获得了 IP 地址,从 docker ps 获得了端口,但 Sequel Pro 给了我连接失败的消息(与 Visual Studio Code 相同)。显然,从 docker 容器内部,我可以将自己连接到数据库引擎。

我哪里错了?非常感谢大家!:)


[编辑]感谢所有评论...

如果我尝试公开端口,则容器不会运行:/ 在此处输入图像描述

标签: mysqldockermariadbdocker-container

解决方案


它对我有用:

  1. 创建一个新的 mariadb 容器
docker container run \
        --name sql-maria \
        -e MYSQL_ROOT_PASSWORD=12345 \
        -e MYSQL_USER=username \
        -e MYSQL_PASSWORD=12345 \
        -e MYSQL_DATABASE=dbname \
        -p 3306:3306 \
        -d mariadb:10
  1. 查看日志并等待 mariadb 服务器启动
docker container logs -f sql-maria

日志的尾部应该看起来像这样

2020-02-04 20:02:44 0 [注意] mysqld:准备连接。

  1. 使用您选择的客户端连接到 mariadb。我在这里使用mysql客户端
mysql -h 127.0.0.1 -p -u username dbname

如果您在基于 unix 的系统上,则必须使用环回地址 127.0.0.1 而不是 localhost


推荐阅读