Jawaban:
Saya percaya bahwa dalam panduan ini Anda akan memiliki penjelasan yang bagus.
Anda dapat mengubah direktori basis penyimpanan Docker (tempat penampung dan gambar) menggunakan opsi -g saat memulai daemon Docker.
Ubuntu / Debian: edit
/etc/default/docker
file Anda dengan-g
opsi:DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4 -g /mnt"
Fedora / Centos: edit
/etc/sysconfig/docker
, dan tambahkan-g
opsi dalam variabel other_args: ex.other_args="-g /var/lib/testdir"
. Jika ada lebih dari satu opsi, pastikan Anda menyertakannya di "". Setelah restart, (service docker restart) Docker harus menggunakan direktori baru.Menggunakan symlink adalah metode lain untuk mengubah penyimpanan gambar.
Perhatian - Langkah-langkah ini tergantung pada / var / lib / docker Anda saat ini menjadi direktori aktual (bukan symlink ke lokasi lain).
1) Berhenti buruh pelabuhan:
service docker stop
. Verifikasi tidak ada proses buruh pelabuhan menjalankan ps faux2) Periksa buruh pelabuhan benar-benar tidak berjalan. Lihatlah direktori buruh pelabuhan saat ini: ls
/var/lib/docker/
2b) Buat cadangan -
tar -zcC /var/lib docker > /mnt/pd0/var_lib_docker-backup-$(date +%s).tar.gz
3) Pindahkan
/var/lib/docker
direktori ke partisi baru Anda:mv /var/lib/docker /mnt/pd0/docker
4) Buat symlink:
ln -s /mnt/pd0/docker /var/lib/docker
5) Coba intip struktur direktori untuk memastikannya terlihat seperti sebelum mv:
ls /var/lib/docker/
(perhatikan trailing slash untuk6) Mulai kembali buruh pelabuhan
service docker start
7) restart wadah Anda, selesaikan symlink)
Untuk mengubah data
direktori di docker
dalamnya perlu dijalankan dengan opsi -g /my/data
. Di /etc/default/docker
set I saya :
DOCKER_OPTS="-g /srv/docker"
Lihat juga catatan saya di sini .
Untuk mengubah data
direktori lxc
saya masukkan /etc/lxc/lxc.conf
:
lxc.lxcpath = /srv/lxc
Untuk memperluas jawaban @ MattK:
The dokumentasi Docker pada pengendalian daemon Docker menunjukkan bahwa cara platform independen untuk melakukan ini adalah:
edit file /etc/docker/daemon.json agar mengandung baris
{
"data-root": "/mnt/docker-data",
(...)
}
di mana /mnt/docker-data
direktori tempat Anda ingin menyimpan gambar dan wadah buruh pelabuhan.
Kemudian
sudo systemctl restart docker
Anda dapat memeriksa apakah itu berfungsi dengan menjalankan
docker info
dan cari konten baris yang dimulai dengan Docker Root Dir:
.
Lihat juga https://stackoverflow.com/a/50217666/2209313 dan https://unix.stackexchange.com/q/452368/36043 .