Odpowiedzi:
Wierzę, że w tym przewodniku znajdziesz dobre wyjaśnienie.
Możesz zmienić katalog podstawowy pamięci Dockera (tam, gdzie idą kontener i obrazy), używając opcji -g podczas uruchamiania demona Docker.
Ubuntu / Debian: edytuj
/etc/default/docker
plik z-g
opcją:DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4 -g /mnt"
Fedora / Centos: edytuj
/etc/sysconfig/docker
i dodaj-g
opcję w zmiennej other_args: np.other_args="-g /var/lib/testdir"
. Jeśli jest więcej niż jedna opcja, upewnij się, że umieścisz je w „”. Po ponownym uruchomieniu, (restart dokera usługi) Docker powinien użyć nowego katalogu.Użycie dowiązania symbolicznego to kolejna metoda zmiany przechowywania obrazów.
Uwaga - Kroki te zależą od tego, czy bieżący katalog / var / lib / docker jest rzeczywistym katalogiem (a nie dowiązaniem symbolicznym do innej lokalizacji).
1) Zatrzymanie doker:
service docker stop
. Sprawdź, czy w żadnym procesie dokera nie działa ps faux2) Doker Double Check naprawdę nie działa. Spójrz na bieżący katalog dokerów: ls
/var/lib/docker/
2b) Wykonaj kopię zapasową -
tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(date +%s).tar.gz
3) Przenieś
/var/lib/docker
katalog na nową partycję:mv /var/lib/docker /mnt/pd0/docker
4) Utwórz dowiązanie symboliczne:
ln -s /mnt/pd0/docker /var/lib/docker
5) Rzuć okiem na strukturę katalogów, aby upewnić się, że wygląda tak, jak przed mv:
ls /var/lib/docker/
(zwróć uwagę na ukośnik końcowy na6) Uruchom ponownie okno dokowane
service docker start
7) zrestartuj swoje pojemniki, usuń dowiązanie symboliczne)
Aby zmienić data
katalog w docker
nim należy uruchomić z opcją -g /my/data
. W moim /etc/default/docker
ustawiłem:
DOCKER_OPTS="-g /srv/docker"
Zobacz także moje notatki tutaj .
Aby zmienić data
katalog w lxc
, wstawiam /etc/lxc/lxc.conf
:
lxc.lxcpath = /srv/lxc
Aby rozwinąć odpowiedź @ MattK:
Dokumentacja Docker dotycząca kontrolowania demona Docker sugeruje, że sposobem niezależnym od platformy jest:
edytuj plik /etc/docker/daemon.json, aby zawierał linię
{
"data-root": "/mnt/docker-data",
(...)
}
gdzie /mnt/docker-data
jest katalog, w którym mają mieszkać obrazy dokerów i kontenery.
Następnie
sudo systemctl restart docker
Możesz sprawdzić, czy zadziałało, uruchamiając
docker info
i poszukaj zawartości linii zaczynającej się od Docker Root Dir:
.
Zobacz także https://stackoverflow.com/a/50217666/2209313 i https://unix.stackexchange.com/q/452368/36043 .