Docker Machine: No space left on device

后端 未结 7 2030
滥情空心
滥情空心 2021-01-29 17:13

I\'m trying to set up Docker Machine with Docker Compose.

Scenario 1 (without Docker Machine)
If I run docker-compose up -d without Doc

相关标签:
7条回答
  • 2021-01-29 17:52

    A. REMOVE UNUSED IMAGES

    using the docker rm or docker rmi commands you can remove the images that you don't need. Actually exist an image that helps in this task (martin/docker-cleanup-volumes). The basis is to start selectig from your images and containers list:

    docker ps -a -s

    B. MODIFY THE DOCKER JSON DESCRIPTOR

    it's mentioned in some forums. The idea is to increment the descriptor located in ~/.docker/machine/machines/default/config.json . The param seems to be DiskSize but i don't know if it works in other OSs (not in windows).

    C. LINUX RESIZE:

    in Windows OS, docker machine or boot2docker is in fact a virtualbox vm, then you can follow the procedure to resize the disk. Take care to backup the files. The general procedure is to make a resize in virtualbox and then use an utilitary called gpartd to modify the space perceived by linux in its partitions. There are some links to do this procedure referenced below:

    • resize vbox disk
    • move space
    • vbox forum

    D. RECREATE THE DOCKER-MACHINE / BOOT2DOCKER

    The idea is recreate the default docker-machine. The following commands can illustrate you. Note that as you are re-creating the boot2docker, you will lost the previous downloaded docker images.

    docker-machine rm default

    docker-machine create --driver virtualbox --virtualbox-disk-size "100100" default

    docker-machine env default

    then you can go to virtual box and see the boot2docker space with the command "df -h"

    0 讨论(0)
  • 2021-01-29 18:01

    Run docker system df to see what is taking up space on your docker

    Then run:

    docker system prune --all --force
    

    to remove all hidden and unused containers.

    docker system prune does not remove all unused containers.

    0 讨论(0)
  • 2021-01-29 18:13

    If you are using Docker Community Edition:

     docker system prune
     docker volume prune  # as suggested by @justin-m-chase since system prune does not clean volumes.
    

    If you are using boot2docker (docker-machine) clear the volumes that are orphaned:

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

    Clear unused images:

     docker rmi $(docker images -q -f "dangling=true")
    
    0 讨论(0)
  • 2021-01-29 18:15

    On docker osx / I was able to press a button [Move Disk Image] and it successfully moved the Docker.qcow2 (presumably containing containers / images)

    initially - when machines started - I was still getting a No space left on device error but it resolved shortly after.

    0 讨论(0)
  • 2021-01-29 18:16

    Like said above, the tmpfs has nothing to do with --virtualbox-disk-size. It seems like boot2docker mounts tmpfs into memory, so you need to dedicate more memory to your virtualbox vm. You can do it by specifying the --virtualbox-memory parameter.

       --virtualbox-memory "1024"
    Size of memory for host in MB [$VIRTUALBOX_MEMORY_SIZE]
    

    Defaults:

    $ docker-machine create --driver virtualbox testA
    Creating VirtualBox VM...
    Creating SSH key...
    Starting VirtualBox VM...
    Starting VM...
    $ docker-machine ssh testA
                            ##         .
                      ## ## ##        ==
                   ## ## ## ## ##    ===
               /"""""""""""""""""\___/ ===
          ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
               \______ o           __/
                 \    \         __/
                  \____\_______/
     _                 _   ____     _            _
    | |__   ___   ___ | |_|___ \ __| | ___   ___| | _____ _ __
    | '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__|
    | |_) | (_) | (_) | |_ / __/ (_| | (_) | (__|   <  __/ |
    |_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|
    Boot2Docker version 1.8.1, build master : 7f12e95 - Thu Aug 13 03:24:56 UTC 2015
    Docker version 1.8.1, build d12ea79
    docker@testA:~$ df -h /
    Filesystem                Size      Used Available Use% Mounted on
    tmpfs                   896.6M    112.7M    783.9M  13% /
    

    With --virtualbox-memory set to 8096

    $ docker-machine create --driver virtualbox --virtualbox-memory 8096 testB
    Creating VirtualBox VM...
    Creating SSH key...
    Starting VirtualBox VM...
    Starting VM...
    $ docker-machine ssh testB
                            ##         .
                      ## ## ##        ==
                   ## ## ## ## ##    ===
               /"""""""""""""""""\___/ ===
          ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
               \______ o           __/
                 \    \         __/
                  \____\_______/
     _                 _   ____     _            _
    | |__   ___   ___ | |_|___ \ __| | ___   ___| | _____ _ __
    | '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__|
    | |_) | (_) | (_) | |_ / __/ (_| | (_) | (__|   <  __/ |
    |_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|
    Boot2Docker version 1.8.1, build master : 7f12e95 - Thu Aug 13 03:24:56 UTC 2015
    Docker version 1.8.1, build d12ea79
    docker@testB:~$ df -h /
    Filesystem                Size      Used Available Use% Mounted on
    tmpfs                     6.9G    112.4M      6.8G   2% /
    
    0 讨论(0)
  • 2021-01-29 18:17

    I ran into this problem and could not add additional space with the docker UI for mac, I installed docker with homebrew and ran the following command when creating my machine:

    docker-machine create --driver virtualbox --virtualbox-memory "2048" --virtualbox-disk-size "40000" default

    this adds double the space for memory and disk size to the virtualbox that I had before and you can add the settings size here that you need as you see fit

    0 讨论(0)
提交回复
热议问题