首页 > 解决方案 > Docker compose - mysql 挂载卷为空

问题描述

我将本地驱动器安装为 mysql Docker 映像的卷:

mysql:
    container_name: mysql
    image: mysql:dev
    build: ./mysql
    env_file: .env
    environment:
      MYSQL_DATABASE: ${DB_NAME}
      # So you don't have to use root, but you can if you like
      MYSQL_USER: ${DB_USERNAME}
      # You can use whatever password you like
      MYSQL_PASSWORD : ${DB_PASSWORD}
      # Password for root access
      MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
    ports:
      # <Port exposed> : < MySQL Port running inside container>
      - '3306:3306'
    expose:
      # Opens port 3306 on the container
      - '3306'
    volumes:
      - ./../mysql:/var/lib/mysql

之后docker-compose up,主机中的本地文件夹为空

码头工人检查:

"Mounts": [
            {
                "Type": "volume",
                "Name": "d8681e2af542638dc47c0a04cdd8dc7cb680e2452d63383a43335062ba31a8cb",
                "Source": "/var/lib/docker/volumes/d8681e2af542638dc47c0a04cdd8dc7cb680e2452d63383a43335062ba31a8cb/_data",
                "Destination": "/var/lib/mysql",

Docker 主机是 Windows 10 机器,Docker 桌面正在运行,创建了空文件夹,但其中没有 mysql 数据

在容器中有数据,/var/lib/mysql但它没有显示在本地文件夹中

标签: mysqldockerdocker-compose

解决方案


  • 重新启动 Docker for Desktop
  • 以管理员身份重新启动编辑器(Visual Studio 代码)
  • 删除了 mysql 容器和图像
  • docker-compose up -d --build

本地文件夹自动填充

在此处输入图像描述


推荐阅读