Відповіді:
Я вважаю, що в цьому посібнику ви матимете хороше пояснення.
Ви можете змінити базовий каталог пам’яті Docker (куди йдуть контейнери та зображення), використовуючи опцію -g під час запуску демона Docker.
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"
. Якщо є кілька варіантів, обов'язково додайте їх до "". Після перезавантаження (перезапуск сервера докера) Docker повинен використовувати новий каталог.Використання символьної посилання - ще один метод зміни пам’яті зберігання зображень.
Увага! Ці кроки залежать від того, що ваш поточний / var / lib / docker є фактичним каталогом (а не символьним посиланням на інше місце).
1) Зупинити докер:
service docker stop
. Переконайтесь, що жоден процес докера не виконується ps faux2) Докер подвійної перевірки дійсно не працює. Погляньте на поточний каталог докера: 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) Заглянути в структурі каталогів , щоб переконатися зробити це виглядає , як це було до мв:
ls /var/lib/docker/
(зверніть увагу на косу риску6) Почніть резервну копію докера
service docker start
7) перезавантажте контейнери, вирішіть символьне посилання)
Для зміни data
каталогу в docker
ньому потрібно запустити параметр -g /my/data
. По своєму /etc/default/docker
я встановив:
DOCKER_OPTS="-g /srv/docker"
Дивіться також мої замітки тут .
Для зміни data
каталогу в lxc
я вставлю /etc/lxc/lxc.conf
:
lxc.lxcpath = /srv/lxc
Оновіть до Docker 1.13.0.
З приміток до випуску:
- New
The storage location of the Linux volume can now be moved
Щоб розширити відповідь @ 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 .