docker-compose запускает скрипты при инициализации контейнера - PullRequest
0 голосов
/ 18 ноября 2018

Я новичок в докере.Я нахожусь на машине Windows 7 и использую панель инструментов докера.Я пытаюсь написать docker-compose.yml для MySQL, который создает базу данных и запускает 2 сценария (создать таблицу и вставить)

version: '3'
services:
  mysql-image:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: myDatabase
      MYSQL_USER: test
      MYSQL_PASSWORD: pwtest
    ports:
     - "3306:3306"
    volumes:
     - ./sqlscripts/:/docker-entrypoint-initdb.d/

volumes:
    sqlscripts:

Я могу подключиться к базе данных, но проблема у меня работаетсценарии.в основном я сталкиваюсь со следующей ошибкой:

mysql-image_1 |mysql: [Предупреждение] Использование пароля в интерфейсе командной строки может быть небезопасным.

mysql-image_1 |ОШИБКА: Невозможно инициализировать batch_readline - возможно, источником ввода является каталог или блочное устройство.docker_mysql-image_1 вышел с кодом 1

Я искал некоторое время, пытаясь заставить его работать, но на данный момент я не знаю, что я делаю неправильно.Это один из моих скриптов .sql, который я пытаюсь запустить при запуске контейнера Docker.createTablePerson.sql

CREATE TABLE `myDatabase`.`Person` (
  `idPerson` INT NOT NULL AUTO_INCREMENT,
  `Name` VARCHAR(45) NOT NULL,
  `age` INT NOT NULL,
  PRIMARY KEY (`idPerson`));

Спасибо.

1 Ответ

0 голосов
/ 18 ноября 2018

Я исследовал дальше, и, похоже, я нахожусь на Windows 7, и мне нужно использовать docker-toolbox, который работает в виртуальной машине VirtualBox.Кажется, что место, где у меня были свои скрипты, не является общим для хоста windows и docker-toolbox.Я заметил, что файлы были скопированы в контейнер, но они считались пустыми каталогами.Я переместил свои скрипты в местоположение пользователя, и кажется, что скрипты скопированы в контейнер и отлично работают.Сейчас я ищу способ попробовать сделать другие пути видимыми.Я предпочитаю, чтобы мои скрипты были в моем проекте Java.

...