【问题标题】:How to create a MySQL database with Docker for Windows?如何使用 Docker for Windows 创建 MySQL 数据库?
【发布时间】:2018-02-13 18:55:08
【问题描述】:

我正在使用 Docker for Windows Version 17.12.0-ce-win47 (15139) 和 Hyper-V。

我正在尝试将现有架构恢复到 Docker 容器中,但不断出现错误。

docker-compoer.yml:

version: '3'

services:
  mysql:
    image: mysql
    environment:
      MYSQL_USER: test
      MYSQL_PASSWORD: testtest
      MYSQL_RANDOM_ROOT_PASSWORD: 1
    volumes:
      - ./Schema/:/docker-entrypoint-initdb.d/

架构/test.sql:

CREATE DATABASE IF NOT EXISTS test;
USE test;

CREATE TABLE IF NOT EXISTS data (
    Id INT PRIMARY KEY AUTO_INCREMENT
);

当我跑步时:

docker-compose up

我收到此错误:

ERROR: for workspace_mysql_1  Cannot create container for service mysql: invalid volume specification: 'C:\Users\Kyle\Workspace\Schema:/docker-entrypoint-initdb.d/:rw'

ERROR: for mysql  Cannot create container for service mysql: invalid volume specification: 'C:\Users\Kyle\Workspace\Schema:/docker-entrypoint-initdb.d/:rw'
Encountered errors while bringing up the project.

我还在 Docker for Mac 上进行了测试,它似乎工作得很好。

【问题讨论】:

  • 您是否尝试仅挂载文件? ./Schema/test.sql:/docker-entrypoint-initdb.d/test.sql
  • 同样的错误。 (嗯,不同之处在于错误消息中明显包含了 test.sql)

标签: docker-compose docker-for-windows docker


【解决方案1】:

您还需要在 docker-compose.yml 中指定卷名,与服务并行添加此

    volumes:
     ./Schema/:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-17
    • 1970-01-01
    • 2015-11-08
    • 2019-02-26
    • 2015-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多