繁体   English   中英

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

[英]Ubuntu 16.10 in Docker 1.12 claims there is no socket for 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获取mysql服务器

apt-get install -y mysql-server

转储/etc/mysql/my.cnf

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

转储/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

找到/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映像之一,尽管您仍然必须公开端口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM