簡體   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