mysql - 如何在 Windows 10 上挂载 Docker MySQL 数据/套接字卷?

标签 mysql docker containers windows-container

我试图简单地在 Windows 10 上运行最新的 docker mysql 图像,并安装了主机上的数据目录。

我在跑

docker run --rm --name=mysql --mount type=bind,src="C:\Docker Projects\mysql\mysql_data",dst=/var/lib/mysql mysql/mysql-server  

但它提示套接字不存在。

2020-01-20T17:23:22.758269Z 0 [ERROR] [MY-010270] [Server] Can't start server : Bind on unix socket: Operation not permitted
2020-01-20T17:23:22.758416Z 0 [ERROR] [MY-010258] [Server] Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock ?

我可以看到创建了一个 mysql mysql.sock.lock。我还尝试从主机创建一个 mysql.sock 文件。

我想这是在告诉我我需要为 windows 指定套接字文件的位置 https://dev.mysql.com/doc/refman/5.7/en/deploy-mysql-nonlinux-docker.html但我似乎无法正确理解命令语法?

最佳答案

你是对的。问题是 mysql.sock 文件被放入/var/lib/mysql,它被挂载到不支持 Unix 域套接字的 Windows 主机系统目录中。

启动服务器时只需使用开关--socket=/tmp/mysql.sock

关于mysql - 如何在 Windows 10 上挂载 Docker MySQL 数据/套接字卷?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59828344/

相关文章:

php - 我应该如何为子站点创建数据库?

java - 在 docker 镜像中的 docker 上安装 Java

ubuntu - Docker - 从 dockerhub 推送到受信任的注册表?

php - 使用 CodeIgniter 时可以访问 mysql::get warnings() 吗?

mysql - 列出用户类型及其数量和百分比

mysql - 有没有不用安装就可以使用的数据库系统

docker - Dockerfile:为什么没有端口公开或RUN命令? (nginx上的Angularx dockerfile)

c++ - 使用不同类型的 Compare 实例构造 priority_queue 实例

docker - 无法将 “kill”命令发送到在IBM Containers服务中运行的Docker

java - JPanels 不会出现在 Cardlayout 容器中