mysql - 无法访问 Docker 容器内的 SQL 数据库

标签 mysql sql node.js docker mariadb

我有一个 SQL 数据库成功运行。但是,我无法在 SQL 客户端中访问它。

docker run -it --name sql_key_container -e MYSQL_ROOT_PASSWORD=testpw -e MYSQL_DATABASE=key_volume -p 3306:3306 -d myimgname/ubuntumaria:0.2

我通过 docker exec fcd12bf1da81 /etc/init.d/mysql status 验证了它正在运行

我映射了 3306 -> 3306 并使用主机 IP。仍然有超时。这可能是什么?

最佳答案

您现在在容器 fcd12bf1da81 中运行了一个数据库,正在监听其本地 IP 和端口 3306 上的主机 IP。

如果您希望新容器 sql_key_container 访问该数据库,则该容器需要访问 fcd12bf1da81

您需要--link:

docker run -it --link fcd12bf1da81:mydb --name sql_key_container -e MYSQL_ROOT_PASSWORD=testpw -e MYSQL_DATABASE=key_volume -p 3306:3306 -d myimgname/ubuntumaria:0.2 

现在您可以使用 mydb:3306 访问该容器内的数据库。

关于mysql - 无法访问 Docker 容器内的 SQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37468314/

相关文章:

node.js - 限制 Docker 容器的文件访问

mysql - VueJS 中的数组循环所有空值函数

mysql - 从 mysqldump mysql 5.6 导入 mariadb 10.1 时出现随机语法错误

php - 如何从 PHP 创建 MySQL 存储过程?

mysql - 如何提高带有 OR 条件的 SQL JOIN 的性能

MySQL 错误 : field is ambiguos (code 1052)

c# - 如何使用 SQL 显示字符串枚举值而不是数字值

MySQL 更新 XML 属性

node.js - 将 Microsoft 机器人部署到本地计算机上并托管它

Mysql 和 NodeJS 无法远程连接到已部署的应用程序