ডকার বলছেন "ডিভাইসে কোনও স্থান বাকি নেই" তবে, সিস্টেমে প্রচুর স্থান আছে?


19

আমি এমন একটি ডকার ইমেজ চালানোর চেষ্টা করছি যা অন্যান্য সিস্টেমে কাজ করে (এবং আপনি এটি ডকারহব থেকেও টানতে পারেন, যদি আপনি চান: এটি dougbtv/asterisk) তবে আমার সাধারণ ওয়ার্কস্টেশনে, এটি মুক্ত স্থান সম্পর্কে অভিযোগ করছে যখন এটি দেখাচ্ছে (মনে হচ্ছে) এটি ডকার ইমেজগুলি না পাওয়া।

আমি এটিকে চালানোর চেষ্টা করি এবং যখন আমি করি তখন একটি স্থান ত্রুটিযুক্ত হয়ে যায় যা উল্লেখ করে যে এটির জায়গাগুলি খুব কম। এটি চালানোর চেষ্টা করার আমার একটি উদাহরণ এখানে রয়েছে এবং এটি স্থান সম্পর্কে অভিযোগ করছে ..

[root@localhost docker]# docker run -i -t dougbtv/asterisk /bin/bash
Timestamp: 2015-05-13 07:50:58.128736228 -0400 EDT
Code: System error

Message: [/usr/bin/tar -xf /var/lib/docker/tmp/70c178005ccd9cc5373faa8ff0ff9c7c7a4cf0284bd9f65bbbcc2c0d96e8565d410879741/_tmp.tar -C /var/lib/docker/devicemapper/mnt/70c178005ccd9cc5373faa8ff0ff9c7c7a4cf0284bd9f65bbbcc2c0d96e8565d/rootfs/tmp .] failed: /usr/bin/tar: ./asterisk/utils/astdb2sqlite3: Wrote only 512 of 10240 bytes
/usr/bin/tar: ./asterisk/utils/conf2ael.c: Cannot write: No space left on device
/usr/bin/tar: ./asterisk/utils/astcanary: Cannot write: No space left on device
/usr/bin/tar: ./asterisk/utils/.astcanary.o.d: Cannot write: No space left on device
/usr/bin/tar: ./asterisk/utils/check_expr.c: Cannot write: No space left on device
[... another few hundred similar lines]

অবশ্যই, আমি কতটা জায়গা উপলব্ধ তা যাচাই করে দেখি এবং গুগলিংয়ের মাধ্যমে দেখতে পাই যে কখনও কখনও আপনি ইনোডের বাইরে না থাকায় এটি ঘটে। সুতরাং আমি উভয়কে একবার দেখে নিই এবং আমি দেখতে পাচ্ছি যে প্রচুর পরিমাণে ইনড রয়েছে।

[root@localhost docker]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 3.9G     0  3.9G   0% /dev
tmpfs                    3.9G   20M  3.9G   1% /dev/shm
tmpfs                    3.9G  1.2M  3.9G   1% /run
tmpfs                    3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/mapper/fedora-root   36G  9.4G   25G  28% /
tmpfs                    3.9G  5.2M  3.9G   1% /tmp
/dev/sda3                477M  164M  285M  37% /boot
/dev/mapper/fedora-home   18G  7.7G  8.9G  47% /home
tmpfs                    793M   40K  793M   1% /run/user/1000
/dev/sdb1                489G  225G  265G  46% /mnt/extradoze
[root@localhost docker]# df -i
Filesystem                 Inodes  IUsed     IFree IUse% Mounted on
devtmpfs                  1012063    585   1011478    1% /dev
tmpfs                     1015038     97   1014941    1% /dev/shm
tmpfs                     1015038    771   1014267    1% /run
tmpfs                     1015038     15   1015023    1% /sys/fs/cgroup
/dev/mapper/fedora-root   2392064 165351   2226713    7% /
tmpfs                     1015038    141   1014897    1% /tmp
/dev/sda3                  128016    429    127587    1% /boot
/dev/mapper/fedora-home   1166880 145777   1021103   13% /home
tmpfs                     1015038     39   1014999    1% /run/user/1000
/dev/sdb1               277252836 168000 277084836    1% /mnt/extradoze

এবং তাই আপনি দেখতে পাচ্ছেন যে এখানে কী চলছে আমার /etc/fstab

[root@localhost docker]# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Tue Mar 17 20:11:16 2015
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/fedora-root /                       ext4    defaults        1 1
UUID=2e2535da-907a-44ec-93d8-1baa73fb6696 /boot                   ext4    defaults        1 2
/dev/mapper/fedora-home /home                   ext4    defaults        1 2
/dev/mapper/fedora-swap swap                    swap    defaults        0 0

এবং আমি lvsকমান্ডের ফলাফলের জন্য জিজ্ঞাসা করা অনুরূপ স্ট্যাক এক্সচেঞ্জের প্রশ্নযুক্ত কাউকে জিজ্ঞাসাও করেছি , যা দেখায়:

[root@localhost docker]# lvs
  LV   VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home fedora -wi-ao---- 17.79g                                                    
  root fedora -wi-ao---- 36.45g                                                    
  swap fedora -wi-ao----  7.77g         

এটি ফেডোরা 21 সিস্টেম:

[root@localhost docker]# cat /etc/redhat-release 
Fedora release 21 (Twenty One)
[root@localhost docker]# uname -a
Linux localhost.localdomain 3.19.5-200.fc21.x86_64 #1 SMP Mon Apr 20 19:51:56 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

স্টোরেজ ড্রাইভার:

[doug@localhost cs]$ sudo docker info|grep Driver:
Storage Driver: devicemapper
Execution Driver: native-0.2

ডকার সংস্করণ:

[doug@localhost cs]$ sudo docker -v
Docker version 1.6.0, build 3eac457/1.6.0

প্রতি সুপারিশ করেছে নিবন্ধ আমি Docker পরিবর্তন করার চেষ্টা করেছিল/etc/sysconfig/docker

OPTIONS='--selinux-enabled --storage-opt dm.loopdatasize=500GB --storage-opt dm.loopmetadatasize=10GB'

এবং ডকারের পুনরায় চালু করল, কোনও লাভ হয়নি। আমি এটিকে ঠিক আবার পরিবর্তন করেছি --selinux-enabled(দ্রষ্টব্য: আমি সেলিনাক্স অক্ষম করেছি)

অতিরিক্ত হিসাবে আমি লক্ষ্য করেছি যে নিবন্ধটি অতিরিক্ত ডেটা ফাইলের দিকে তাকিয়ে উল্লিখিত হয়েছে:

[root@localhost doug]# ls -alhs /var/lib/docker/devicemapper/devicemapper
total 3.4G
4.0K drwx------ 2 root root 4.0K Mar 20 13:37 .
4.0K drwx------ 5 root root 4.0K Mar 20 13:39 ..
3.4G -rw------- 1 root root 100G May 13 14:33 data
9.7M -rw------- 1 root root 2.0G May 13 14:33 metadata

ডিস্কের আকারের চেয়ে স্পার্স ফাইলটি বড় হওয়া কি কোনও সমস্যা?

আমার lsblkদেখতে দেখতে:

[root@localhost doug]# lsblk
NAME                        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                           8:0    0 111.8G  0 disk 
├─sda1                        8:1    0   100M  0 part 
├─sda2                        8:2    0  49.2G  0 part 
├─sda3                        8:3    0   500M  0 part /boot
├─sda4                        8:4    0     1K  0 part 
└─sda5                        8:5    0    62G  0 part 
  ├─fedora-swap             253:0    0   7.8G  0 lvm  [SWAP]
  ├─fedora-root             253:1    0  36.5G  0 lvm  /
  └─fedora-home             253:2    0  17.8G  0 lvm  /home
sdb                           8:16   0   1.8T  0 disk 
└─sdb1                        8:17   0   489G  0 part /mnt/extradoze
loop0                         7:0    0   100G  0 loop 
└─docker-253:1-1051064-pool 253:3    0   100G  0 dm   
loop1                         7:1    0     2G  0 loop 
└─docker-253:1-1051064-pool 253:3    0   100G  0 dm   

আপনি কোন স্টোরেজ ড্রাইভার ব্যবহার করছেন? sudo docker info|grep Driver:
mattdm

ভাল প্রশ্ন @ ম্যাটডেম, এটি devicemapperএক্সিকিউশন ড্রাইভারের সাথে native-0.2। আমি আমার প্রশ্নটি সেই তথ্য এবং ডকার সংস্করণ দিয়ে আপডেট করেছি।
ডগবিটিভি

আপনি কি আউটপুট সংযুক্ত করতে পারেন lsblk? এই ব্লগ পোস্টটি সাহায্য করতে পারে, যদিও এটি অল্প বয়স্ক।
mattdm

আমি গিয়ে আপডেট করেছিলাম এবং দু'টি
জিনিস

ডকার / var / lib / ডকার / tmp / 70 .... থেকে / var / lib / ডকার / ডিভাইসমেপার / .... এর অধীনে একটি ডিরেক্টরিতে একটি ফাইল ফাইল বের করে আনছে The সেই পথে 'ডিভাইসমেপার' এর স্ট্রিংটি রয়েছে fact আমাকে মনে করে যে ডকার ব্যবহারের জন্য কোনও ব্লক স্টোরেজ ডিভাইসকে একটি নির্দিষ্ট ডক ডিভাইসে ম্যাপিং করছে। সম্ভবত এটির অর্থ হ'ল আপনি যদি ডসকার কমান্ডের আগে বা পরে lsblk / df এবং বন্ধুদের চালনা করেন তবে আপনি ম্যাপ করা ডিভাইসটি মিস করবেন (ডকার নিজেই পরিষ্কার হয়ে যাবে?)। ত্রুটিগুলি পপিং শুরু হওয়ার পরে আমি ডিএনএফ / ডিএম সরঞ্জামগুলির সাহায্যে চারপাশে হাঁটা শুরু করার পরে আমি সম্ভবত সিএনটিএল - জেড আনব্যান্ডলিং প্রক্রিয়াটি করব। আপনি এটা করতে পারেন?
Lmwangi

উত্তর:


11

আপনি যদি কোনও অপারেটিং সিস্টেম রেড-হ্যাট ভিত্তিক ব্যবহার করে থাকেন তবে আপনার জানা উচিত যে "ডিভাইসমেপার" প্রতি ইমেজ 10 গিগাবাইটের মধ্যে সীমাবদ্ধ এবং আপনি যদি 10 জিবি অবধি কোনও চিত্র চালানোর চেষ্টা করছেন তবে আপনি এই ত্রুটিটি পেয়ে যেতে পারেন। এটি আপনার সমস্যা হতে পারে। এটি চেষ্টা করুন, এটি আমার পক্ষে কাজ করেছিল

https://docs.docker.com/engine/reference/commandline/daemon/#storage-driver-options

 sudo systemctl stop docker.service

অথবা

sudo service docker stop

rm -rvf /var/lib/docker (Take back up of any important data; containers and images will be deleted)

এই আদেশটি চালান

docker daemon --storage-opt dm.basesize=20G

"20G" যেখানে আপনি নতুন আকারটি ডিভাইসমেপারটি নিতে চান তা বোঝায় এবং তারপরে ডকার পুনরায় চালু করুন

sudo systemctl start docker.service

অথবা

sudo service docker start

এটি চালিয়ে সেট করা আছে কিনা তা পরীক্ষা করুন

docker info

আশা করি এই কাজ!


ধন্যবাদ! আমি এটি পরে একটি শট দেব। আমার কাছে এখনও এই মেশিনটি রয়েছে তবে এটি এখন প্রায় পুরানো হয়ে গেছে, সুতরাং সর্বশেষ ফেডোরা এবং ডকারে আপডেট করা আমার পক্ষে সুন্দর হতে পারে।
ডগবিটিভি

আমি এটিকে যেতে দিলাম, তবে ডকার পরে আরম্ভ করতে অস্বীকার করেছিল। আমি মনে করি "কেবল রেডহ্যাট ব্যবহার করবেন না" এর একটি সহজ সমাধান হতে পারে :)
সামাথবেস্ট

1
sudo dockerd-current --storage-opt dm.basesize=20G... এটি হ'ল ডকার ডিমন => রেডহ্যাটে ডকার্ড।
মিকিমোরালেস

1
কমান্ডটির docker daemon --storage-opt dm.basesize=20Gআর উপস্থিতি নেই বলে মনে হচ্ছে।
অ্যালেক্স

3

আপনি কি কোনও সুযোগেই খুব বড় ছবি চালানোর চেষ্টা করছেন? আরএইচইএল-র এফস নেটিভ সমর্থন নেই। সুতরাং আপনি ব্যবহার করুন আপনি devicemapper যখন ব্যবহার করবেন তখন devicemapperআপনার ধারক ফাইল সিস্টেমের জন্য কেবলমাত্র 10 গিগাবাইট অ্যাক্সেস থাকতে পারে। এই নিবন্ধটি পরীক্ষা করুন , এটি সাহায্য হতে পারে।


3
যদিও এই লিঙ্কটি প্রশ্নের উত্তর দিতে পারে, উত্তরের প্রয়োজনীয় অংশগুলি এখানে অন্তর্ভুক্ত করা এবং রেফারেন্সের জন্য লিঙ্কটি সরবরাহ করা ভাল। লিঙ্কযুক্ত পৃষ্ঠাগুলি পরিবর্তিত হলে লিঙ্ক-শুধুমাত্র উত্তরগুলি অবৈধ হতে পারে।
অ্যান্থন

0

চলমান docker system prune কিছুক্ষণ কাজ করেছে, তারপরে আমাকে পছন্দসমূহ ...> ডিস্কে "ডিস্ক চিত্রের আকার" বাড়িয়ে রাখতে হবে, তবে এটি কেবল পুনরায় বৃদ্ধি না করা পর্যন্ত সহায়তা করেছিল।

আমি ডিস্কের চিত্রের আকার বাড়িয়ে তুলতে অস্বীকার করেছি এবং docker system pruneআর কোনও জায়গার দাবি করছিলাম না, তবে দৌড়াদৌড়িটি docker volume pruneএবার সহায়তা করেছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.