Moby: Bagaimana cara menangani kasus ukuran file data Docker mencapai ambang 100G?

Dibuat pada 29 Mar 2016  ·  3Komentar  ·  Sumber: moby/moby

Keluaran dari docker version :

Client:
 Version:      1.8.2-el7.centos
 API version:  1.20
 Package Version: docker-1.8.2-10.el7.centos.x86_64
 Go version:   go1.4.2
 Git commit:   a01dc02/1.8.2
 Built:        
 OS/Arch:      linux/amd64

Server:
 Version:      1.8.2-el7.centos
 API version:  1.20
 Package Version: 
 Go version:   go1.4.2
 Git commit:   a01dc02/1.8.2
 Built:        
 OS/Arch:      linux/amd64

Keluaran dari docker info :

Containers: 0
Images: 130
Storage Driver: devicemapper
 Pool Name: docker-253:0-3221586422-pool
 Pool Blocksize: 65.54 kB
 Backing Filesystem: xfs
 Data file: /dev/loop4
 Metadata file: /dev/loop5
 Data Space Used: 107.4 GB
 Data Space Total: 107.4 GB
 Data Space Available: 0 B
 Metadata Space Used: 60.92 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.087 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.107-RHEL7 (2015-12-01)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.10.0-229.el7.x86_64
Operating System: CentOS Linux 7 (Core)
CPUs: 12
Total Memory: 31.2 GiB
Name: IP-5-14
ID: DNOS:FC2P:2WH4:OSYL:L2CH:U7HZ:MFL2:ZID3:SYTX:JWKP:TGIN:YYPB
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

Detail lingkungan tambahan (AWS, VirtualBox, fisik, dll.):

Langkah-langkah untuk mereproduksi masalah:
saya ingin menjalankan gambar buruh pelabuhan saya yang disebut gateway menggunakan cmd di bawah ini. (titik masuk no-daemon telah ditetapkan di Dockerfile gateway)

docker run -d -P gateway

Jelaskan hasil yang Anda terima:
wadah dapat berjalan seperti biasa

Jelaskan hasil yang Anda harapkan:

[root@IP-5-14 devicemapper]# docker run -d -P gateway
Error response from daemon: Error running DeviceCreate (createSnapDevice) dm_task_run failed

Informasi tambahan yang Anda anggap penting (misalnya masalah hanya terjadi sesekali):

  1. seperti yang ditunjukkan docker info , ruang data telah dinaikkan hingga ambang batas 100G.
  2. ketika saya menghapus wadah menggunakan docker rm -f $(docker ps -a -q) . Semua wadah telah dihapus tetapi melaporkan kesalahan di bawah ini:
Error response from daemon: Cannot destroy container 5d5eed10468b: Driver devicemapper failed to remove root filesystem 5d5eed10468b809475b0eb23bda167e1a962d32092a348936d56e27417dbf578: Error running DeleteDevice dm_task_run failed
  1. saya menggunakan docker ps -a untuk memastikan bahwa semua wadah telah dihapus setelah saya melakukan langkah 2. hasil cmd kosong. tetapi terjadi kesalahan (di bawah) ketika saya menghapus gambar NONE
[root@IP-5-14 devicemapper]# docker rmi 6fdebd7b0eb5   
Error response from daemon: Conflict, cannot delete because 6fdebd7b0eb5 is held by an ongoing pull or build
Error: failed to remove images: [6fdebd7b0eb5]

Dapatkah seseorang memberi saya bantuan? Terima kasih banyak

Komentar yang paling membantu

Anda perlu menambah kolam yang diizinkan untuk wadah Anda. Untuk melakukan ini, Anda harus menghapus var/lib/docker Anda yang akan menghancurkan semua wadah dan gambar Anda.

sudo service docker stop
sudo rm -rf /var/lib/docker
sudo dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/data bs=1G count=0 seek=300
Ini akan membuat ruang data Anda digunakan 300GB

Apakah ini menyelesaikan masalah Anda? Juga, coba hentikan proses buruh pelabuhan, mulai buruh pelabuhan lagi, dan lihat apakah Anda dapat menghapus gambar

Semua 3 komentar

Anda perlu menambah kolam yang diizinkan untuk wadah Anda. Untuk melakukan ini, Anda harus menghapus var/lib/docker Anda yang akan menghancurkan semua wadah dan gambar Anda.

sudo service docker stop
sudo rm -rf /var/lib/docker
sudo dd if=/dev/zero of=/var/lib/docker/devicemapper/devicemapper/data bs=1G count=0 seek=300
Ini akan membuat ruang data Anda digunakan 300GB

Apakah ini menyelesaikan masalah Anda? Juga, coba hentikan proses buruh pelabuhan, mulai buruh pelabuhan lagi, dan lihat apakah Anda dapat menghapus gambar

Devicemapper kehabisan ruang memang bisa sangat rumit; Kami melacak masalah seputar ini di https://github.com/docker/docker/issues/20272.

Untuk Docker 1.11, ada opsi baru untuk menentukan jumlah minimum ruang kosong yang harus disimpan, dan akan mencegah Anda tiba dalam situasi ini; lihat https://github.com/docker/docker/pull/20786

Saya akan menutup masalah ini, karena saya pikir ini bukan bug, tetapi pertanyaan dukungan, tetapi jangan ragu untuk melanjutkan diskusi di sini

Oke. Terima kasih banyak. Harapan untuk fitur baru Docker1.11

Apakah halaman ini membantu?
0 / 5 - 0 peringkat