2017-08-22 53 views
1

在嘗試使用Docker和Docker Compose時,突然遇到「設備上沒有剩餘空間」錯誤。我嘗試使用類似問題中提出的方法刪除所有內容,但無濟於事。即使卸下所有容器後「設備上仍然沒有空間」

事情我跑:

$ docker-compose rm -v 

$ docker volume rm $(docker volume ls -qf dangling=true) 

$ docker rmi $(docker images | grep "^<none>" | awk "{print $3}") 

$ docker system prune 

$ docker container prune 

$ docker rm $(docker stop -t=1 $(docker ps -q)) 

$ docker rmi -f $(docker images -q) 

據我所知,真的不應該是現在留下任何東西。它看起來是這樣:

$ docker images  
REPOSITORY   TAG     IMAGE ID   CREATED    SIZE 

同爲卷:

$ docker volume ls 
DRIVER    VOLUME NAME 

和集裝箱:

$ docker container ls 
CONTAINER ID  IMAGE    COMMAND    CREATED    STATUS    PORTS    NAMES 

不幸的是,我還是得到這樣一個錯誤:

$ docker-compose up 
Pulling adminer (adminer:latest)... 
latest: Pulling from library/adminer 
90f4dba627d6: Pulling fs layer 
19ae35d04742: Pulling fs layer 
6d34c9ec1436: Download complete 
729ea35b870d: Waiting 
bb4802913059: Waiting 
51f40f34172f: Waiting 
8c152ed10b66: Waiting 
8578cddcaa07: Waiting 
e68a921e4706: Waiting 
c88c5cb37765: Waiting 
7e3078f18512: Waiting 
42c465c756f0: Waiting 
0236c7f70fcb: Waiting 
6c063322fbb8: Waiting 
ERROR: open /var/lib/docker/tmp/GetImageBlob: no space left on device 

有關我的Docker installa的一些數據重刑:

$ docker info 
Containers: 0 
Running: 0 
Paused: 0 
Stopped: 0 
Images: 1 
Server Version: 17.06.1-ce 
Storage Driver: aufs 
Root Dir: /var/lib/docker/aufs 
Backing Filesystem: extfs 
Dirs: 15 
Dirperm1 Supported: true 
Logging Driver: json-file 
Cgroup Driver: cgroupfs 
Plugins: 
Volume: local 
Network: bridge host macvlan null overlay 
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog 
Swarm: inactive 
Runtimes: runc 
Default Runtime: runc 
Init Binary: docker-init 
containerd version: 6e23458c129b551d5c9871e5174f6b1b7f6d1170 
runc version: 810190ceaa507aa2727d7ae6f4790c76ec150bd2 
init version: 949e6fa 
Security Options: 
apparmor 
seccomp 
    Profile: default 
Kernel Version: 4.10.0-32-generic 
Operating System: Ubuntu 16.04.3 LTS 
OSType: linux 
Architecture: x86_64 
CPUs: 4 
Total Memory: 7.685GiB 
Name: engelbert 
ID: UO4E:FFNC:2V25:PNAA:S23T:7WBT:XLY7:O3KU:VBNV:WBSB:G4RS:SNBH 
Docker Root Dir: /var/lib/docker 
Debug Mode (client): false 
Debug Mode (server): false 
Registry: https://index.docker.io/v1/ 
Experimental: false 
Insecure Registries: 
127.0.0.0/8 
Live Restore Enabled: false 

WARNING: No swap limit support 

我的硬盤信息:

$ df -h 
Filesystem  Size Used Avail Use% Mounted on 
udev   3,9G  0 3,9G 0% /dev 
tmpfs   787M 10M 778M 2% /run 
/dev/nvme0n1p3 33G 25G 6,3G 80%/
tmpfs   3,9G 46M 3,8G 2% /dev/shm 
tmpfs   5,0M 4,0K 5,0M 1% /run/lock 
tmpfs   3,9G  0 3,9G 0% /sys/fs/cgroup 
/dev/loop0  81M 81M  0 100% /snap/core/2462 
/dev/loop1  80M 80M  0 100% /snap/core/2312 
/dev/nvme0n1p1 596M 51M 546M 9% /boot/efi 
/dev/nvme0n1p5 184G 52G 123G 30% /home 
tmpfs   787M 12K 787M 1% /run/user/121 
tmpfs   787M 24K 787M 1% /run/user/1000 

和:

$ df -hi /var/lib/docker 
Filesystem  Inodes IUsed IFree IUse% Mounted on 
/dev/nvme0n1p3 2,1M 2,0M 68K 97%/

至於說,我仍然在嘗試,所以我不知道我是否已經張貼所有相關信息 - 如果您需要更多信息,請告知我。

任何人都知道更多可能是什麼問題?

+0

在您的問題中發佈'df -h'的輸出 –

+0

@TarunLalwani完成! – Vincent

+0

你在虛擬機上運行這個操作系統嗎? –

回答

2

問題是/var/lib/docker位於/文件系統,該文件系統耗盡inode。您可以通過運行來檢查此問題df -i /var/lib/docker

由於/home的文件系統具有足夠的inode和磁盤空間,因此移動Docker的工作目錄應該再次執行。

(請注意,這個假設沒有什麼有價值的當前泊塢窗安裝。)

首先停止泊塢守護進程。在Ubuntu上運行

sudo service docker stop 

然後移動舊/var/lib/docker的方式進行:

sudo mv /var/lib/docker /var/lib/docker~ 

現在在/home創建一個目錄:

sudo mkdir /home/docker 

,並設置必要的權限:

sudo chmod 0711 /home/docker 

鏈接/var/lib/docker目錄複製到新的工作目錄:

sudo ln -s /home/docker /var/lib/docker 

然後重啓碼頭工人守護進程:

sudo service docker start 

那麼就應該再工作。

+0

正如聊天中所討論的那樣:)謝謝你! – Vincent

+0

這不適合我。我以某種方式沒有/ var/lib/docker目錄...嘗試創建它並設置上面列出的Permisisons ...仍然沒有運氣。 – DirtyBirdNJ

相關問題