У меня есть контейнер docker tomee, на котором я развернул приложение, которое работает на порту 8080, и он был открыт с помощью «docker run -p». Доступ к нему можно получить через браузер. Однако это приложение требует, чтобы пользователь вводил данные. Для подачи данных нам нужно указать расположение файла для загрузки. При запуске на сервере местоположение определяется, файл загружается и задание выполняется отлично. При работе в контейнере приложение не может найти файл / расположение. Я пробовал bind-mount, volume mount и могу получить доступ к смонтированной папке в контейнере докера вручную из командной строки bash. Но приложение не может его найти. Разрешения каталога / файла установлены на 777, но все же. Застрял здесь. Может быть, проблема с часовым поясом? Докер находится в UTC, а хост - в EST.
Вы указали расположение пути как относительное или абсолютное по отношению к рабочему каталогу приложения? Вы можете найти больше информации на докер контейнер конфигурации здесь, если вы хотите ее просмотреть.
Если вы можете поделиться используемым Dockerfile и командами запуска Docker, мы сможем лучше понять, что происходит.
Когда вы проверяете это внутри контейнера, оно работает правильно?
Похоже, это связано не с разрешениями, а скорее с указанием пути и правильностью настройки этого каталога в приложении-контейнере. Убедитесь, что путь указан абсолютный, проверьте конфигурацию каталога и повторите попытку.