首页 > 数据库 > mysql教程 > 如何从我的主机连接到 Docker MySQL 容器?

如何从我的主机连接到 Docker MySQL 容器?

DDD
发布: 2024-12-02 12:01:10
原创
923 人浏览过

How Do I Connect to a Docker MySQL Container from My Host Machine?

从主机连接到 Docker MySQL 容器

问题:

建立与运行在其中的 MySQL 实例的连接主机系统中的 Docker 容器被证明不成功,导致错误2002.

Dockerfile 详细信息:

使用的 Dockerfile 包括以下配置:

FROM ubuntu:14.04.3
RUN apt-get update && apt-get install -y mysql-server
RUN grep -v bind-address /etc/mysql/my.cnf > temp.txt && mv temp.txt /etc/mysql/my.cnf
EXPOSE 3306
CMD /etc/init.d/mysql start && tail -F /var/log/mysql.log
登录后复制

虽然映像初始化没有问题,但会尝试连接从主机使用命令 mysql -P 12345 -uroot 产生上述结果错误。

解决方案:

连接规范:

要连接到 Docker 容器内的 MySQL 实例,如下调用 mysql 命令时需要提供正确的参数host:

mysql -h localhost -P 3306 --protocol=tcp -u root
登录后复制

这里,-h localhost 指定主机,-P 3306 指定端口(在本例中为 12345),--protocol=tcp 表示应通过 TCP/ 建立连接IP 而不是套接字连接。

Socket限制:

在 Docker 容器内,MySQL 绑定到所有网络接口,不包括 localhost。由于主机系统无法访问套接字,因此必须使用 TCP/IP 进行通信。通过在mysql命令中指定--protocol=tcp,通过端口3306建立连接成功。

以上是如何从我的主机连接到 Docker MySQL 容器?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板