docker容器跑起mysql后,在宿主机无法进去mysql?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker容器跑起mysql后,在宿主机无法进去mysql?相关的知识,希望对你有一定的参考价值。

docker小白,如题,已经成功跑起mysql容器,端口映射已经做好,3306:3306,进入容器内部后,可以通过mysql -u root -p进入mysql,但是在宿主机,却报错bash: mysql: 未找到命令...

参考技术A 这不很正常嘛
宿主机又没安装MySQL(至少要安装客户端啊)

docker mysql 容器 数据库文件怎么娴宿主机器上

docker跟宿主机交互的是通过原生网络实现的。

当Docker进程启动之后,它会配置一个虚拟的网桥叫docker0在宿主机上。这个接口允许Docker去分配虚拟的子网给即将启动的容器们。这个网桥在容器内的网络和宿主机网络之间将作为接口的主节点。

Docker容器启动后,将创建一个新的虚拟接口并分配一个网桥子网内的IP地址。这个IP地址嵌在容器内网络中,用于提供容器网络到宿主机docker0网桥上的一个通道。Docker自动配置iptables规则来放行并配置NAT,连通宿主机上的docker0,就可以访问宿主机的mysql数据文件了。
参考技术A dao pull daocloud.io/library/mysql:5.7.15
docker run --name mysql-1 -v /opt/MySQL/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d daocloud.io/library/mysql:5.7.15

docker run -v 宿主目录:容器目录 -p 宿主端口:容器端口

以上是关于docker容器跑起mysql后,在宿主机无法进去mysql?的主要内容,如果未能解决你的问题,请参考以下文章

docker容器启动参数

docker mysql 容器 数据库文件怎么娴宿主机器上

docker mysql 容器 数据库文件怎么娴宿主机器上

如何避免Docker容器启动脚本运行后自动退出

Mariadb docker容器无法使用Python连接到主机上的MySQL服务器(111连接被拒绝)

如何将 MySQL 转储从主机恢复到 Docker 容器