Search code examples
amazon-web-servicesdockeramazon-ecs

How do I expand volume size on docker image


The default on FS /dev/mapper/docker-XXX is 10GB. I followed other instructions to edit /etc/sysconfig/docker-storage and add --storage-opt dm.basesize=50G. Next I do:

sudo service docker restart
sudo service ecs restart

I can see

# ps -ef | grep docker | grep stor
root      5966     1  0 21:45 pts/0    00:00:01 /usr/bin/dockerd --default-ulimit nofile=1024:4096 --storage-driver devicemapper --storage-opt dm.basesize=50G --storage-opt dm.thinpooldev=/dev/mapper/docker-docker--pool --storage-opt dm.use_deferred_removal=true --storage-opt dm.use_deferred_deletion=true --storage-opt dm.fs=ext4

So it looks like it took effect, however when I look into the running docker container it is stll 10GB:

# docker exec -it 601f6a9e9418 bash
root@601f6a9e9418:/# df
Filesystem                                                                                       1K-blocks    Used Available Use% Mounted on
/dev/mapper/docker-202:1-263443-880571d796b21f307753d4f4ecca2141b85119985fac00001ea2622ce643b45f  10190136 7295128   2354336  76% /

Any help is greatly appreciated.


Solution

  • try this : link : How to increase Docker container default size? (optional) If you have already downloaded any image via docker pull you need to clean them first - otherwise they won't be resized

    docker rmi your_image_name

    Edit the storage config

    vi /etc/sysconfig/docker-storage

    There should be something like DOCKER_STORAGE_OPTIONS="...", change it to DOCKER_STORAGE_OPTIONS="... --storage-opt dm.basesize=100G"

    Restart the docker deamon

    service docker restart

    Pull the image

    docker pull your_image_name

    (optional) verification

    docker run -i -t your_image_name /bin/bash

    df -h

    I was struggling with this a lot until I found out this link http://www.projectatomic.io/blog/2016/03/daemon_option_basedevicesize/ turns out you have to remove/pull image after enlarging the basesize.