Я работаю с Docker, где использую:
COPY ./entrypoint.sh /usr/src/app/entrypoint.sh
RUN chmod +x /usr/src/app/entrypoint.sh
Как ни странно, я получаю сообщение об ошибке «нет такого файла или каталога», но это там.
когда я звоню docker-compose -f docker-compose-dev.yml up -d --build
команда, я получаю этот вывод:
Successfully built 36461c09191a
Successfully tagged testdriven-app_users:latest
testdriven-app_users-db_1 is up-to-date
Recreating testdriven-app_users_1 ... error
ERROR: for testdriven-app_users_1 Cannot start service users: OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"/usr/src/app/entrypoint.sh\": stat /usr/src/app/entrypoint.sh: no such file or directory": unknown
ERROR: for users Cannot start service users: OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"/usr/src/app/entrypoint.sh\": stat /usr/src/app/entrypoint.sh: no such file or directory": unknown
ERROR: Encountered errors while bringing up the project.
Что я могу попытаться решить это?
Ошибка выдается, поскольку вы пытаетесь скопировать файл в папку, которая не существует в файловой системе, и эта папка: entrypoint.sh
Вы должны изменить команду COPY
на :COPY ./entrypoint.sh /usr/src/app
Ваш путь назначения — это folder
, поэтому он не должен включать имя вашего файла.
Попробуйте также добавить флаг -c
к вашей команде RUN
: RUN ./bin/bash/ -c "chmod +x /usr/src/app/entrypoint.sh"
Хорошо, это была моя вина, потому что я вызывал docker-compose -f docker-compose-**dev**.yml up -d --build
вместо docker-compose -f docker-compose-**prod**.yml up -d --build
, который содержит другие вызовы и параметры. Дурак я. Я поддержу ваш ответ, так как могу предположить, что ваш ответ будет полностью верным для очень похожей проблемы с копированием файлов.
Надеюсь, мой ответ помог вам, и если он решил вашу проблему, примите его: D
Это имеет смысл для меня. Но получаю ту же ошибку. Без изменений.