Как игнорировать папку uploads, чтобы остановить удаление содержимого на сервере docker при создании новой сборки

#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. Большое спасибо за ответ,