Docker 1.12中的Ubuntu 16.10声称没有用于MySQL的套接字

我现在使用Docker for Mac和Docker是Docker version 1.12.0-rc4, build e4a0dbc, experimental ,我试图在Ubuntu 16.10中安装MySQL。 (不要问我,为什么我不使用官方的!)

安装过程是

运行Docker

docker run --rm -it ubuntu:16.10

(并安装vim)

更新和升级apt-get

apt-get update && apt-get upgrade -y

apt-get mysql-server

apt-get install -y mysql-server

dump /etc/mysql/my.cnf

 !includedir /etc/mysql/conf.d/ !includedir /etc/mysql/mysql.conf.d/ 

dump /etc/mysql/mysql.conf.d/mysqld.cnf

 [mysqld_safe] socket = /var/run/mysqld/mysqld.sock ... [mysqld] user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 

find/var/run/mysqld/mysqld.sock

 # ls /var/run/ lock mount utmp <- there is no "mysqld" directory 

为什么我多次犯这个错误,不能使用MySQL …“

如果你正试图从你的主机系统访问mysql,你的问题是当你运行ubuntu镜像时你没有暴露3306端口:

您需要将其添加到运行命令中:

 docker run --rm -it -p 3306:3306 ubuntu:16.10 

无法想象为什么你不使用通常的mysql映像之一,尽pipe你仍然需要暴露端口。