Получение ошибки «Нет такого файла или каталога /» при выполнении команды в docker

#docker #dockerfile

#docker #dockerfile

Вопрос:

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

 COPY ./scripts/initdb.sh /docker-entrypoint-initdb.d/
  

initdb.sh имеет следующее содержимое

 mysql -u root -p<root_password> <database_name> < /data/dump.sql
  

Проблема в том, что при выполнении файла я получаю следующую ошибку:

: Нет такого файла или directory/initdb.sh : строка 1: /data/dump.sql

Я проверил следующее

  • файлы существуют в правильном каталоге
  • разрешение правильное ( -rwxr-xr-x )
  • изменено разрешение через RUN chmod x /docker-entrypoint-initdb.d/*.sh

но, похоже, ничего не работает, уверен, что мне не хватает чего-то простого.

Комментарии:

1. Вы должны иметь возможность просто поместить dump.sql файл напрямую /docker-entrypoint-initdb.d ; это работает лучше? Есть ли #!/bin/sh или подобная строка в начале сценария оболочки? Вы дважды проверяли окончания строк DOS и Unix?

2. Отлично ! Гениально! было 2 проблемы — а) отсутствовал #!/bin / sh, а затем при переносе из Windows ^M проникал. Спасибо