#docker
#docker
Вопрос:
Я создал одну uploads
папку на сервере и загружаю изображение в эту папку, используя функцию загрузки PHP.
Теперь всякий раз, когда создается новая сборка, моя вновь созданная папка и загруженные файлы удаляются, которые находятся внутри этой папки, поскольку docker просматривает репозиторий для создания нового изображения и не рассматривает вновь загруженные папки и файлы.
Итак, может кто-нибудь сообщить мне, какова методика «загрузки изображений» с использованием PHP в docker.
Должен ли я создать файл dockerignore для информирования docker о том, чтобы не трогать мою папку «uploads»? Будет ли это работать?
Я сомневаюсь, что файл dockeringore наверняка проигнорирует папку «uploads», но в новом изображении может не быть моей вновь созданной папки и файлов внутри папки «uploads», поскольку папка «uploads» присутствует в репозитории, но мои вновь созданные папки и файлы отсутствуют в репозитории, поэтому при создании нового изображения docker может выбратьпапка «uploads» из репозитория и также будет игнорировать ее, но не будет включать вновь созданную папку и файлы внутри этой папки. Но это мое предположение.
Любая помощь будет оценена.
Комментарии:
1. Здравствуйте, вы решили свою проблему?
2. Да, мы смогли решить проблему с помощью volume. Большое спасибо за вашу поддержку и извините за задержку с ответом, на самом деле мы занимались другими высокоприоритетными вопросами, мы попробовали это на прошлой неделе, и это сработало нормально. Еще раз спасибо за вашу любезную поддержку.
3. Отлично!! Полезно знать
4. Не могли бы вы отметить ответ как полезный и / или правильный ответ? Спасибо
Ответ №1:
Ну, трудно понять, в какой момент вы изменяете содержимое папки загрузки. Я предполагаю, что это происходит, когда ваш контейнер запущен, и когда вы снова создаете контейнер, вы теряете его содержимое.
Для этого используйте тома :
docker volume create --name data
docker run -v data:upload_folder_path_in-container
Надеюсь, это поможет
Комментарии:
1. Спасибо за ответ, прошу прощения за мое объяснение, поскольку вы не поняли мою проблему. Я хотел бы объяснить это еще раз, на самом деле в моем проекте есть функция загрузки, всякий раз, когда пользователь загружает файлы, он загружается в папку «uploads». Но всякий раз, когда выполняется новая сборка, эта папка «uploads» становится пустой. Будет ли ваше решение работать для этого?
2. Да, попробуйте. Используйте это как руководство hub.docker.com/r/crramirez/limesurvey в этом приложении также есть папка для загрузки, которую необходимо сохранить
3. Большое спасибо, Карлос, за ответ, я также искал со своей стороны и обнаружил, что ваше решение для создания тома будет работать наверняка, теперь моя следующая путаница заключается в том, что после создания тома для папки uploads и загрузки некоторых красивых изображений на сервер содержимое будет перенесено на следующее изображение, когда новый dockerсборка завершена? Если да, то что мне нужно сделать для переноса содержимого на новый том в новом образе сборки docker?
4. Нет, содержимое останется на том же уровне и не будет передано при создании нового изображения. Чтобы поместить содержимое по умолчанию в свою папку, вы должны скопировать его с помощью команды ADD или COPY в вашем Dockerfile . Конечно, вы можете работать без тома, загружать изображения, останавливать контейнер и выполнять фиксацию docker. Ваши изменения перейдут к следующему изображению.
5. Большое спасибо за ответ,