docker for windows&mysql官方容器

问题描述 投票:0回答:1

我在最新的官方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本身内时,一切都正常运行。

mysql docker docker-compose dockerfile
1个回答
0
投票

我有同样的问题。如果您使用的是Linux容器,则问题很可能与MySQL容器所具有的不同文件系统类型和Windows主机有关。使用命名卷,即some-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:
© www.soinside.com 2019 - 2024. All rights reserved.