我正在最新的官方MySQL docker容器中运行MySQL。 主机是Windows10。
我正在使用“ docker-compose up mysql”启动以下服务:
version: '3.4'
services:
mysql:
image: mysql/mysql-server:latest
container_name: sqlstore
ports:
- '3306:3306'
expose:
- '3306'
env_file:
- ./sqlconfig.env
volumes:
- ./data:/var/lib/mysql
我遇到的问题是,当MySQL数据库文件驻留在主机的卷上时,MySQL无法运行,并且我不断收到以下错误消息: “您是否已经在套接字上运行了另一个mysqld服务器:“ /var/lib/mysql/mysql.sock”“
值得注意的是,我确实确保其他进程未使用该端口,并且确实将MySQL的文件写入主机上的./data目录。
但是,当MySQL文件不在主机上而是在docker内部时,一切正常运行。
将感谢您的反馈。
谢谢, 迈克
答案 0 :(得分:0)
我有同样的问题。如果您使用的是Linux容器,则问题很可能与MySQL容器和Windows主机具有的不同文件系统类型有关。使用命名卷(即 [[ NSTask
launchedTaskWithLaunchPath: @"/usr/bin/open"
arguments: [ NSArray
arrayWithObject: [ @"/System/Library/PreferencePanes/Displays.prefPane/" stringByExpandingTildeInPath ]]
] waitUntilExit ];
)可以解决此问题。工作示例:
some-data:/var/lib/mysql