Giter Club home page Giter Club logo

Comments (7)

johanneswuerbach avatar johanneswuerbach commented on August 19, 2024

You can find the disk image in your machine storage path (default: ~/.docker/machine/machines)

The disk image is a OS X virtual sparsebundle disk, which sadly is not compactable today for filesystems different from HFS+ :-(

from docker-machine-driver-xhyve.

lcmen avatar lcmen commented on August 19, 2024

@johanneswuerbach actually I've found a command to compact disk image - sudo hdiutil compact root-volume.sparsebundle -batteryallowed however it does not reclaim any size back.

from docker-machine-driver-xhyve.

lcmen avatar lcmen commented on August 19, 2024

@zchee @johanneswuerbach any idea why sudo hdiutil compact root-volume.sparsebundle -batteryallowed didn't work? Are there any others (even hackable) ways to reclaim the space to the host OS?

from docker-machine-driver-xhyve.

johanneswuerbach avatar johanneswuerbach commented on August 19, 2024

hdiutil compact only works when the filesystem used within the sparebundle is HFS+, which boot2docker doesn't support (ext4 is used).

https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/hdiutil.1.html

There are ideas how to solve that machyve/xhyve#82, but nothing concrete so far.

from docker-machine-driver-xhyve.

lcmen avatar lcmen commented on August 19, 2024

@johanneswuerbach thanks for more information about. Do you know if it's to use other distro (i.e. Alpine linux) instead?

I'm just looking for a way to setup my dev env with docker but having a image which can not be compacted on SSD is a deal breaker. Basically when I create a new machine it uses around 1GB for root image. After playing with docker (downloading / building images), sparsebundle size goes to ~18GB, even tough df -h shows that only 6GB is used of that space is used. How can I be sure that after a few days it won't take another 20GB from my host, even tough it won't use it?

UPDATE: I've found that there is image size parameter for docker-machine after which it won't take more size from the host. I've tested it with basic dd command on the boot2docker and it works fine.
UPDATE2: Ok I think no matter which Linux distro I will choose it won't use HFS+ file system for its partition. Propably the only solution that can work in the future is machyve/xhyve#82

from docker-machine-driver-xhyve.

dunkelstern avatar dunkelstern commented on August 19, 2024

The sparse disk support patches on my github account work. Currently you cannot shrink the images but at least they are fine grained sparse disks. (Apple uses 8MB chunks, my version uses 4KB chunks).

I am currently working on supporting qcow2 because there is already tooling for that format, but it may be a while until that works with enough performance to be usable,

from docker-machine-driver-xhyve.

vasi avatar vasi commented on August 19, 2024

My rhfs tool allows compacting sparsebundles, without necessarily using HFS+ (though it's optimized for that case):

rhfs compact --search mydisk.sparsebundle

It would probably be better to implement real support for discard in xhyve/block_if.c, though. See BOP_DELETE.

from docker-machine-driver-xhyve.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.