Digital Ocean: как докер сочинять сборку в объеме - PullRequest
0 голосов
/ 20 марта 2019

Я купил объем для моей капли в цифровом океане, и когда я делаю docker compose build, это занимает место на моей текущей настройке, и я не могу создать свои изображения.

Моя текущая настройка включена

`/dev/vda1       25227048 25191932     18732 100% /`

Полный Ubunto:

udev             2013884        0   2013884   0% /dev
tmpfs             404632     5672    398960   2% /run
/dev/vda1       25227048 25191932     18732 100% /
tmpfs            2023160        0   2023160   0% /dev/shm
tmpfs               5120        0      5120   0% /run/lock
tmpfs            2023160        0   2023160   0% /sys/fs/cgroup
/dev/vda15        106858     3437    103421   4% /boot/efi
tmpfs             404632        0    404632   0% /run/user/0
/dev/sda       103081248    93980  97728004   1% /mnt/volume_lon1_01

Как мне построить его так, чтобы он основывался на моем новом томе?

`/dev/sda       103081248    93980  97728004   1% /mnt/volume_lon1_01`

Не удалосьошибка сейчас:

 Version:       18.03.0-ce
 API version:   1.37
 Go version:    go1.9.4
 Git commit:    0520e24
 Built: Wed Mar 21 23:10:01 2018
 OS/Arch:       linux/amd64
 Experimental:  false
 Orchestrator:  swarm
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

1 Ответ

0 голосов
/ 20 марта 2019

Если вы хотите использовать новый диск только для докера, вам необходимо смонтировать его в базовом каталоге докера: /var/lib/docker.

Но перед тем, как сделать это, вам необходимо:

  • Полная остановка демона docker sudo systemctl docker stop
  • Синхронизация всего в текущем каталоге с новым диском: sudo rsync -aqxP /var/lib/docker/ /mnt/volume_lon1_01
  • Удаление старого содержимого: sudo rm -rf /var/lib/docker/*
  • смонтировать новый том в нужное место: sudo mount /dev/sda /var/lib/docker
  • Запустить демон Docker sudo systemctl start docker
  • Убедитесь, что все работает правильно - вы можете проверить, есть ли у вас том в списке docker volume ls или некоторые локальные образы docker images ls, или если вы можете запустить новый контейнер docker run -ti alpine
  • Добавить новое определение монтирования в /etc/fstab*

Вы также можете изменитькаталог докера по умолчанию для использования /mnt/volume_lon1_01.

Если вы хотите второй вариант, я рекомендую вам прочитать https://linuxconfig.org/how-to-move-docker-s-default-var-lib-docker-to-another-directory-on-ubuntu-debian-linux

* Для изменения fstab, если вы не знакомы с, вам нужно немного информации: какая файловая система используется разделом, его путь и где уВы хотите смонтировать его. После этого отредактируйте файл /etc/fstab и проверьте, существует ли уже строка с путем к разделу (/dev/sda для вас).Если нет, добавьте новую строку, если да, просто отредактируйте ее для изменения пути монтирования на новый.

Как найти файловую систему раздела, уже смонтированную: mount Это вернет один раздел строки и разделвам нужно проверить тип раздела.

Пример: rootfs on / type lxfs (rw,noatime), тип раздела - lxfs

Если вам нужно добавить новую строку, это будет что-то вроде этого:

/dev/sda /var/lib/docker <fs type> defaults 0 0

...