docker run 실행 시 --storage-opt size=OOG로 하여 rootfs의 사이즈를 조정할 수 있다.


-------------------------------------------------------------------------------------------------------------------


아래는 이미 run한 상태의 docker 이미지의 사이즈를 조정하는 방법



기본적으로 Docker 이미지에는 10G의 공간이 할당되는데, 이 영역을 조정해야 하는 경우가 있다.


우선 Docker 이미지를 다운로드하거나 build한 후에 docker run 명령을 통해 해당 컨테이너를 실행한다.


그리고 나서 /dev/mapper 경로로 이동하여, ls -l 명령으로 정보를 보면 아래와 같이

방금 실행한 컨테이너의 디바이스 정보가 생성되어 있다.


# ls -l /dev/mapper

.... docker-253:9-33555456-b52e89c883463c78dba60b705eb431cd30fbb3de23703528df413452e6e39158 -> ../dm-12


그러면 다음과 같은 명령으로 device-mapper 테이블에서 해당 디바이스의 정보를 확인한다


# dmsetup table docker-253:9-33555456-b52e89c883463c78dba60b705eb431cd30fbb3de23703528df413452e6e39158

0 20971520 thin 253:11 42


여기서 20971520 값은 10G를 512Byte로 표현한 값이다.

그 값을 실제 증설하고자 하는 크기로 변경해야 하며, 아래와 같은 방식으로 입력하면 된다.


echo 0 31457280 thin 253:11 42 | dmsetup load docker-253:9-33555456-b52e89c883463c78dba60b705eb431cd30fbb3de23703528df413452e6e39158


# dmsetup table docker-253:9-33555456-b52e89c883463c78dba60b705eb431cd30fbb3de23703528df413452e6e39158        // 확인


# dmsetup resume docker-253:9-33555456-b52e89c883463c78dba60b705eb431cd30fbb3de23703528df413452e6e39158 



마지막으로 디바이스의 정보를 갱신한 후, 해당 디바이스의 FS를 늘려주는 작업을 진행해야 한다


 # resize2fs docker-253:9-33555456-b52e89c883463c78dba60b705eb431cd30fbb3de23703528df413452e6e39158        // RHEL 6

 # xfs_growfs docker-253\:9-33555456-b52e89c883463c78dba60b705eb431cd30fbb3de23703528df413452e6e39158    // RHEL 7



단, 아래와 같이 docker 이미지를 저장해도, 해당 docker 이미지는 종료 후 다시 로드하면 초기화된다.

# docker commit f6cf11f6ca65 base/centos7:cuda8.0-cudnn5

+ Recent posts