2016-12-23 6 views
0

Wenn ich Container mit einem anderen Volumes oder Update-Image erneut ausführen möchte. halte ich an und versuchen Behälter zu entfernen, aber oft GetError auf rm BefehlDocker Container entfernen Fehler

# docker rm containername 

Error response from daemon: Driver devicemapper failed to remove root filesystem dbe6....f91f: Device is Busy 

Ich brauche Docker-Daemon neu zu starten Behälter zu entfernen.

~ # docker version                           [email protected] 
    Client: 
    Version:  1.12.5 
    API version: 1.24 
    Go version: go1.6.4 
    Git commit: 7392c3b 
    Built:  Fri Dec 16 02:23:59 2016 
    OS/Arch:  linux/amd64 

    Server: 
    Version:  1.12.5 
    API version: 1.24 
    Go version: go1.6.4 
    Git commit: 7392c3b 
    Built:  Fri Dec 16 02:23:59 2016 
    OS/Arch:  linux/amd64 
    ------------------------------------------------------------ 
~ # docker info                            [email protected] 
    Containers: 40 
    Running: 11 
    Paused: 0 
    Stopped: 29 
    Images: 32 
    Server Version: 1.12.5 
    Storage Driver: devicemapper 
    Pool Name: docker-8:3-28705145-pool 
    Pool Blocksize: 65.54 kB 
    Base Device Size: 10.74 GB 
    Backing Filesystem: xfs 
    Data file: /dev/loop0 
    Metadata file: /dev/loop1 
    Data Space Used: 14.83 GB 
    Data Space Total: 107.4 GB 
    Data Space Available: 92.54 GB 
    Metadata Space Used: 21.15 MB 
    Metadata Space Total: 2.147 GB 
    Metadata Space Available: 2.126 GB 
    Thin Pool Minimum Free Space: 10.74 GB 
    Udev Sync Supported: true 
    Deferred Removal Enabled: false 
    Deferred Deletion Enabled: false 
    Deferred Deleted Device Count: 0 
    Data loop file: /var/lib/docker/devicemapper/devicemapper/data 
    WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device. 
    Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata 
    Library Version: 1.02.135-RHEL7 (2016-09-28) 
    Logging Driver: json-file 
    Cgroup Driver: cgroupfs 
    Plugins: 
    Volume: local 
    Network: bridge overlay host null 
    Swarm: inactive 
    Runtimes: runc 
    Default Runtime: runc 
    Security Options: seccomp 
    Kernel Version: 3.10.0-514.2.2.el7.x86_64 
    Operating System: CentOS Linux 7 (Core) 
    OSType: linux 
    Architecture: x86_64 
    CPUs: 8 
    Total Memory: 30.96 GiB 
    Name: CentOS-72-64-minimal 
    ID: SMTY:72HJ:5QIS:AT63:6GPI:U2UQ:KUYY:C7M6:UIOY:37AR:JS53:JAGA 
    Docker Root Dir: /var/lib/docker 
    Debug Mode (client): false 
    Debug Mode (server): false 
    Registry: https://index.docker.io/v1/ 
    WARNING: bridge-nf-call-iptables is disabled 
    WARNING: bridge-nf-call-ip6tables is disabled 
    Insecure Registries: 
    127.0.0.0/8       
+0

Nur ein einfacher Vorschlag, versuchen Sie das System neu zu starten oder zumindest den Docker-Dienst neu zu starten. –

+0

Ja, ich erwähnte, dass der Neustart von Docker Daemon die einzige Lösung ist, die ich für jetzt gefunden habe. – MadDocNC

Antwort

1

Ich habe dieses Problem ziemlich oft auf einem Red Hat Host erlebt. Die Reparatur gemäß dem gemeldeten Problem besteht darin, auf einen neueren Kernel zu aktualisieren. Als Workaround für Orte, an denen das keine Option ist, habe ich docker rm -f ... verwendet, die immer noch den Fehler wirft, aber der Container wird aufgeräumt. Viel schneller und weniger aufdringlich als ein Neustart des Daemon.

+0

Schätze, es ist die beste Lösung, ich bin mir nicht sicher, ob der Kernel jetzt aktualisiert wird. Ich habe force remove verwendet, aber der Fehler hat mich daran gehindert zu überprüfen, ob der Container wirklich entfernt wurde. – MadDocNC

0

erlebte ich das gleiche Problem, service docker restart fast immer das Problem behebt.

Weitere Informationen zu diesem Problem availbale here (Docker-Dienst neu starten).