Bagaimana saya bisa mengubah direktori data Docker di mana buruh pelabuhan menyimpan wadah (atau di mana lxc menyimpan wadah)? Saya punya di server saya SSD dan semut hard drive. Saya ingin agar wadahnya disimpan di hard drive. Terima kasih
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)
Dalam versi Docker yang lebih baru di Ubuntu Anda akan mengedit /etc/default/daemon.json seperti:
sumber
Untuk mengubah
data
direktori didocker
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
direktorilxc
saya masukkan/etc/lxc/lxc.conf
:lxc.lxcpath = /srv/lxc
sumber
Tingkatkan ke Docker 1.13.0.
Dari Catatan Rilis:
sumber
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
di mana
/mnt/docker-data
direktori tempat Anda ingin menyimpan gambar dan wadah buruh pelabuhan.Kemudian
Anda dapat memeriksa apakah itu berfungsi dengan menjalankan
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 .
sumber