Docker alpine image:ERROR 2002(HY000):无法通过套接字'/run/mysqld/mysqld.sock'连接到本地MySQL服务器(2“没有这样的文件或目录”)

你好有一个公共的高山MySQL图像docker。 https://hub.docker.com/r/wangxian/alpine-mysql/

我想在其中运行MySQL。

docker run命令后执行mysql命令时出现这个错误:

 docker run -i -t wangxian/alpine-mysql sh /app # mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (2 "No such file or directory") 

那么我从头安装一切。 我做了一个阿尔卑斯山的新形象,然后我安装了这些东西:

 apt add mysql mysql-client 

然后我再次键入mysql并得到相同的错误。 这看起来像一个常见的错误,它发生在所有的高山图像,因为这是一个新的安装阿尔卑斯山。

任何解决scheme

编辑:当我做docker运行-i -t wangxian / alpine-mysql

 2016-08-17 12:51:41 140215609339688 [Note] Plugin 'FEEDBACK' is disabled. 2016-08-17 12:51:41 140215609339688 [Note] Server socket created on IP: '::'. 2016-08-17 12:51:41 140215609339688 [Note] /usr/bin/mysqld: ready for connections. Version: '10.1.11-MariaDB-log' socket: '/run/mysqld/mysqld.sock' port: 3306 MariaDB Server 

然后我打开新的标签在命令行中,同时保持该标签打开,我再次得到同样的错误:

 docker run -i -t wangxian/alpine-mysql sh /app # mysql ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (2 "No such file or directory") 

那不是真的,你用的图像是如何工作的。 在Docker Hub页面上,您可以看到它应该如何运行。 它有一个启动脚本,在运行时传递“sh”命令时不会调用,所以mysql没有运行。 当你没有任何命令运行图像时,它会启动mysql并为用户名/密码设置一些初始值。 然后,您可以使用docker execinput正在运行的容器,也可以将其他容器链接到它