問題

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/GetImageBlob865563210: no space left on device
 

Dockerインストールに関するいくつかのデータ:

 $ 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% /
 

言ったように、私はまだ実験しているので、関連するすべての情報を投稿したかどうかはわかりません。

誰でも問題になる可能性がありますか?

  ベストアンサー

問題は、/var/lib/dockerがinodeが不足している/ファイルシステム上にあることです。 df -i /var/lib/dockerを実行することでこれを確認できます

/home のファイルシステムには十分な inode とディスクスペースがあるので、Docker の作業ディレクトリを移動すると、再度実行する必要があります。

(これは、現在のDockerインストールでは何も価値がないと仮定しています。)

まず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
 

次に、Dockerデーモンを再起動します。

 sudo service docker start
 

もう一度動くはずです。

  同じタグがついた質問を見る

dockerdocker-compose