MYSQL docker-compose:/docker-entrypoint-initdb.d/init.sql:没有这样的文件或目录

时间:2020-04-08 18:06:24

标签: mysql docker docker-compose

我尝试(花费了多个小时)在docker上(本地)运行mysql。我想使用像这样的初始数据库脚本:

CREATE TABLE `language` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `lang_name` varchar(45) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci;

CREATE TABLE `level` (

我的docker-compose:

version: '3.1'
services:
  mysql:
    container_name: myflashcards_db
    image: mysql:5.7
#    command: --init-file /data/application/init.sql
    volumes:
      - ./init:/docker-entrypoint-initdb.d
      - ./mysql_data:/var/lib/mysql
    restart: always
    ports:
      - "33061:3306"
    expose:
      - 33061
    environment:
      MYSQL_ROOT_USER: root
      MYSQL_ROOT_PASSWORD: masterkey
      MYSQL_DATABASE: myflashcards_db
      MYSQL_USER: myflashcards_user
      MYSQL_PASSWORD: mypassword
#    command: --init-file ./init.sql
#    command: mysqld --init-file="/tmp/database/init.sql"
#  myflashcards-service:
#    depends_on:
#      - mysql
#    build:
#      dockerfile: Dockerfile.dev
#      context: .


volumes:
  mysql-data: {}

之后:

docker-compose up --build

我得到了错误:

2020-04-08 17:59:31 + 00:00 [注意] [入口]: /usr/local/bin/docker-entrypoint.sh:正在运行 /docker-entrypoint-initdb.d/init.sql myflashcards_db | /usr/local/bin/docker-entrypoint.sh:第62行: /docker-entrypoint-initdb.d/init.sql:没有这样的文件或目录

我的init.sql脚本位于init / init.sql中。 docker-compose与我的带有init.sql的init文件夹位于同一位置:

> init/    
     -init.sql 
  docker-compose.yml

我尝试了许多解决方案,但没有成功:(。我不想创建一个单独的dockerfile,我想将所有文件都放在一个docker-compose文件中。

第一步,我想测试我的mysql数据库,但看起来我的init.sql没有复制到myflashcards_db容器中

0 个答案:

没有答案