Если упрощенно:
- Есть сущность образ - image. Его можно скачать, собрать свой и т.д.
- Есть контейнер - он запускается из образа, на основе данных/правил, которые в нём (образе) прописаны.
- Контейнер работает, вы в нём что-то делаете, меняете значения и т.д. НО сам образ, на основе которого он сделан, не изменяется. Поэтому при перезапуске контейнера изменения как бы "пропадают". Но на самом деле вы просто запустили контейнер на основе вашего изначального образа.
- Есть несколько способов:
- Закоммитить изменения в новый образ, который создаётся на основе текущего контейнера.
- Подключать внешние диски внутрь контейнера, и на них уже сохраняется информация вне образа и контейнера, а не на пользовательском диске (в облаке или где угодно).
- Способ выбирается в зависимости от контекста. В вашем случае, вероятно, правильно будет сделать новый образ, в котором эти настройки будут "вшиты", и контейнер Docker будет запускаться уже с нужными вам uploads.ini.
Поэтому гуглим доки.
Если кратко:
#Получаем наш образ базу
sudo docker pull mycool_image
#смотрим чё там по образам, видим айдишник нашего
sudo docker images
#Запускаем в интерактивном режиме, с входом в баш (пример условный)
sudo docker run -it hash_of_mycoll_image bin/bash
#редактируем и потом сохраняем в нем наш файлик настроек
nano /path/to/uploads.ini
#Выходим
exit
#Смотрим список запущенных контейнеров и видим там наш родимый с изменениями
sudo docker ps -a
#Сохраняем(комитим) изменения в докер контейнере в НОВЫЙ образ
sudo docker commit hash_of_DOCKER_CONTEINER mycool_image_with_uploads_ini
#Смотрим список образов с сохраненным нашим новым образом,
#теперь можем запускать контейнер на его основе
sudo docker images
Примерно так. НО всё же, вперёд читать документацию.