Изменить каталог данных Docker

Как я могу изменить каталог данных Docker, где Docker сохраняет контейнер (или где LXC сохраняет контейнер)? На моем сервере есть ssd и жесткий диск, и я хочу, чтобы контейнер был сохранен на жестком диске. Благодаря

8
задан 2 June 2015 в 21:21

5 ответов

Для изменения data каталог в docker, это должно быть выполнено с опцией -g /my/data. В моем /etc/default/docker я установил:

DOCKER_OPTS="-g /srv/docker"

См. также мои примечания здесь .

Для изменения data каталог в lxc я вставил /etc/lxc/lxc.conf:

lxc.lxcpath = /srv/lxc

1
ответ дан 3 June 2015 в 07:21

Я полагаю, что в этом руководстве у Вас будет хорошее объяснение.

Можно изменить каталог базы хранения Докера (куда контейнер и изображения идут), использование-g опции при запуске демона Докера.

Ubuntu/Debian: отредактируйте Ваш /etc/default/docker файл с -g опция: DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4 -g /mnt"

Fedora/Centos:править /etc/sysconfig/docker, и добавьте -g опция в other_args переменной:напр. other_args="-g /var/lib/testdir". Если существует больше чем одна опция, удостоверьтесь, что Вы включаете их в "". После перезапуска (сервисный перезапуск докера) Докер должен использовать новый каталог.

Используя символьную ссылку другой метод для изменения устройства хранения данных изображения.

Осторожность - Эти шаги зависят от Вашего текущего/var/lib/docker быть фактическим каталогом (не символьная ссылка на другое местоположение).

1) Докер остановки: service docker stop. Проверьте, что никакой процесс докера не выполняет поддельный PS

2) Проверьте докера дважды, действительно не работает. Смотрите на текущий каталог докера: ls /var/lib/docker/

2b), Делают резервное копирование - tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(date +%s).tar.gz

3) Переместитесь /var/lib/docker каталог к Вашему новому разделу: mv /var/lib/docker /mnt/pd0/docker

4) Сделайте символьную ссылку: ln -s /mnt/pd0/docker /var/lib/docker

5) Посмотрите на структуру каталогов, чтобы удостовериться, что похоже, что это сделало перед mv: ls /var/lib/docker/ (отметьте запаздывающую наклонную черту к

6) Запустите докера назад service docker start

7) перезапустите свой containersresolve символьная ссылка),

11
ответ дан 3 June 2015 в 07:21
  • 1
    Don' t снимок экрана, копия это сначала (после того, как изображение пойдет больше) и вставляют его в офис Весов. Я могу получить ссылку на Ваше изображение, таким образом, я могу помочь? – muhfahreza 1 September 2016 в 06:47

Обновите до докера 1.13.0.

из информации о версии:

- New
The storage location of the Linux volume can now be moved
1
ответ дан 3 June 2015 в 07:21
  • 1
    что, если изображение как то, что я отправил его? it' s большой, но я вставил его в офис Весов, все еще не очищаются – user1 1 September 2016 в 08:03

Подробно остановиться на ответе @MattK:

документация Докера относительно управления демоном Докера предполагает, что независимый от платформы способ сделать это:

редактируют/etc/docker/daemon.json файл для содержания строки

{
    "data-root": "/mnt/docker-data",
    (...)
}

, где /mnt/docker-data каталог, где Вы хотите, чтобы изображения докера и контейнеры жили.

Затем

sudo systemctl restart docker

можно проверить, работало ли это путем выполнения

docker info

, и ищите содержание строки, которое запускается с Docker Root Dir:.

См. также https://stackoverflow.com/a/50217666/2209313 и https://unix.stackexchange.com/q/452368/36043.

1
ответ дан 4 October 2019 в 13:55

В более свежих версиях Докера на Ubuntu Вы отредактируете/etc/default/daemon.json как так:

{
    "data-root": "/new/location"
}
9
ответ дан 23 November 2019 в 05:22

Другие вопросы по тегам:

Похожие вопросы: