mysql - docker for windows & mysql 官方容器
问题描述
我在最新的官方 MySQL docker 容器中运行 MySQL。主机是 Windows 10。
我正在使用“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 本身内时,一切都会正常运行。
解决方案
我有同样的问题。如果您使用的是 Linux 容器,那么问题很可能与 MySQL 容器和 Windows 主机所具有的不同文件系统类型有关。使用命名卷 iesome-data:/var/lib/mysql
可能会解决问题。工作示例:
version: '3.4'
services:
mysql:
image: mysql/mysql-server:latest
container_name: sqlstore
ports:
- '3306:3306'
expose:
- '3306'
env_file:
- ./sqlconfig.env
volumes:
- datavol:/var/lib/mysql
volumes:
datavol:
推荐阅读
- php - 将 MySQL 数据加载到相应的 PHP 变量中
- guice - Lagom:无法创建注入器
- javascript - 如何在angularjs中以横向模式打印div
- scala - 加特林令牌刷新心跳
- javascript - 如何从而不是提示?
- javascript - JQuery - FireFox 中 HTML5 视频上的点击事件
- outlook-addin - 如何区分 O365 和 Outlook 之间的 UI 控件?
- recursion - 归纳类型和 nat 上的相互递归
- json - 使用 Circe 进行“动态”JSON 解码
- java - 运行 index.jsp 时无法显示表格