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/dockerplik z-gopcją:DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4 -g /mnt"Fedora / Centos: edytuj
/etc/sysconfig/dockeri dodaj-gopcję 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.gz3) Przenieś
/var/lib/dockerkatalog na nową partycję:mv /var/lib/docker /mnt/pd0/docker4) Utwórz dowiązanie symboliczne:
ln -s /mnt/pd0/docker /var/lib/docker5) 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 start7) zrestartuj swoje pojemniki, usuń dowiązanie symboliczne)
Aby zmienić datakatalog w dockernim należy uruchomić z opcją -g /my/data. W moim /etc/default/dockerustawiłem:
DOCKER_OPTS="-g /srv/docker"
Zobacz także moje notatki tutaj .
Aby zmienić datakatalog 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-datajest 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 .