如何远程访问 docker 上的 mariadb?

how to remote access to mariadb on docker?

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

我从 docker 检查得到了 IP 地址,从 docker ps 得到了端口,但是 Sequel Pro 给了我连接失败的消息(与Visual Studio代码)。显然,我可以从 docker 容器内部连接到数据库引擎。

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


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

如果我尝试公开端口,容器不会 运行:/

它对我有用:

  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 [Note] mysqld: ready for connections.

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

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