无法从主机连接到Mysql docker容器

无法从主机连接到Mysql docker容器,mysql,docker,Mysql,Docker,我在windows上运行docker,我用MySql启动了一个docker容器,如下所示 docker run -p 3306:3306 --name test -e MYSQL_ROOT_PASSWORD=secret-pw -d mysql/mysql-server:5.5 然后在我的主机上启动Mysql workbench并尝试连接,但它不起作用 docker inspect test在172.17.0.2上显示IP地址,但当我点击此按钮时,没有收到回复 在linux主机上实现了这一点,

我在windows上运行docker,我用MySql启动了一个docker容器,如下所示

docker run -p 3306:3306 --name test -e MYSQL_ROOT_PASSWORD=secret-pw -d mysql/mysql-server:5.5
然后在我的主机上启动Mysql workbench并尝试连接,但它不起作用

docker inspect test
在172.17.0.2上显示IP地址,但当我点击此按钮时,没有收到回复

在linux主机上实现了这一点,我确信我已经完成了完全相同的步骤


我做错了什么?

您的主机3306端口应转发到容器,因此请尝试在localhost:3306上连接。当我尝试复制时,得到了“主机172.17.0.1不允许连接到此MySQL服务器”,这意味着它至少通过了


关于后者的更多信息:

您的主机3306端口应转发到容器,因此请尝试在localhost:3306上连接。当我尝试复制时,得到了“主机172.17.0.1不允许连接到此MySQL服务器”,这意味着它至少通过了

关于后者的更多信息:

帮助文档:

图像链接:

命令:docker run--name mysql\u container\u name--expose=3306-p 3306-v/my/own/datadir:/path/to/data/dir-e mysql\u ROOT\u PASSWORD=ROOT\u pwd-d mysql:tag--character set server=utf8mb4--collation server=utf8mb4\u unicode\u ci

mysql\u容器\u名称:docker容器名称

暴露:contaner暴露端口

主机内置端口

/path/to/data/dir:在容器和主机之间共享路径

root_pwd:mySql root密码

标记:存储库标记

utf8mb4:mysql服务器字符集和排序规则类型

utf8mb4_unicode_ci:mysql服务器字符集和排序规则类型

示例:docker run--expose=3306-p3306--name mysql-v/my/own/datadir:/opt/mysql-e mysql\u ROOT\u PASSWORD=0112358139-d mysql:latest--character set server=utf8mb4--collation server=utf8mb4\u unicode\u ci

以下远程连接步骤:

docker exec-it mydb bash-->这将连接到mySql容器

echo“bind address=0.0.0.0”>>/etc/mysql/my.cnf-->这将更新my.cnf文件

服务mysql重新启动-->重新启动mysql服务

退出-->mySql容器

docker inspect mysql | grep IPAddress-->grep contaner的IP地址

mysql-h 172.17.0.2-u root–p-->远程连接到mysql

帮助文档:

图像链接:

命令:docker run--name mysql\u container\u name--expose=3306-p 3306-v/my/own/datadir:/path/to/data/dir-e mysql\u ROOT\u PASSWORD=ROOT\u pwd-d mysql:tag--character set server=utf8mb4--collation server=utf8mb4\u unicode\u ci

mysql\u容器\u名称:docker容器名称

暴露:contaner暴露端口

主机内置端口

/path/to/data/dir:在容器和主机之间共享路径

root_pwd:mySql root密码

标记:存储库标记

utf8mb4:mysql服务器字符集和排序规则类型

utf8mb4_unicode_ci:mysql服务器字符集和排序规则类型

示例:docker run--expose=3306-p3306--name mysql-v/my/own/datadir:/opt/mysql-e mysql\u ROOT\u PASSWORD=0112358139-d mysql:latest--character set server=utf8mb4--collation server=utf8mb4\u unicode\u ci

以下远程连接步骤:

docker exec-it mydb bash-->这将连接到mySql容器

echo“bind address=0.0.0.0”>>/etc/mysql/my.cnf-->这将更新my.cnf文件

服务mysql重新启动-->重新启动mysql服务

退出-->mySql容器

docker inspect mysql | grep IPAddress-->grep contaner的IP地址

mysql-h 172.17.0.2-u root–p-->远程连接到mysql