2014-10-24 2 views
4

일부 도커 컨테이너의 크기가 일부 구성을 통해 제한 될 수 있는지 확인하려고합니다.도커 컨테이너 크기 조정

this 다음, 나는 10G에서용기를 실행하는 의 크기를 증가 수 있어요. 그것을 줄일 수 있습니까? 줄어들려고하면 online shrinking not supported이라고 말하는 오류가 발생했습니다.

이상적으로 컨테이너를 만들 때 상속받을 기본 컨테이너 크기를 구성하고 설정하는 옵션을 찾고 있습니다. 도커 문서 (devicemapper)는 도커 데몬을 시작하는 동안 --storage-opt을 제안했습니다. 그러나 그것은 효과가없는 것처럼 보입니다.

컨테이너 당 크기를 제한 할 수 있는지 알고 싶습니다 (docker run 명령 중).

올바른 방향으로 향하는 포인터는 크게 감사하겠습니다. 미리 감사드립니다.

답변

3

devicemapper 그래프 엔진을 사용하는 경우 storage-opt dm.basesize가 수행하려는 작업으로 이동하는 방법입니다. 구성을 변경 한 후에/var/lib/docker를 정리해야합니다 (직접 블록 장치를 사용하여 데이터 및 메타 데이터 풀 장치를 프로비저닝하는 경우에도 현재 가지고있는 모든 이미지가 지워집니다).

는 여기에 내가 다음 단계는 다음과 같습니다

$ docker run -ti base/arch df -h/
Filesysem         Size Used Avail Use% Mounted on 
/dev/mapper/docker-254:7-73733-b8dc...6d28a 9.8G 335M 8.9G 4%/

그래서 저는 현재 기본 10G의 기본 크기를 가지고있다.

첫째, "--storage - 옵트의 dm.basesize = 5G"를 추가 할 수있는 구성 변경 : 다음

# vim /etc/systemd/system/docker.service 
... 
ExecStart=/usr/bin/docker -d -H fd:// -s devicemapper \ 
    --storage-opt dm.datadev=/dev/vg01/docker-dm-data \ 
    --storage-opt dm.metadatadev=/dev/vg01/docker-dm-meta \ 
    --storage-opt dm.basesize=5G 

을 설정, 청소용/VAR를 다시로드, 부두 노동자가 (모든 컨테이너는 사전에 정지되어 있는지 확인 중지/lib 디렉토리/고정 표시기 다시 시작 고정 표시기 :.

# systemctl stop docker 
# systemctl daemon-reload 
# rm -rf /var/lib/docker 
# systemctl start docker 

"고정 표시기 이미지"어떤 이미지가 존재하지

을 확인해야합니다 그리고 지금 테스트를 다시 실행 :

$ docker run -ti base/arch df -h/
Unable to find image 'base/arch:latest' locally 
Pulling repository base/arch 
a64697d71089: Download complete 
511136ea3c5a: Download complete 
4bbfef585917: Download complete 
Status: Downloaded newer image for base/arch:latest 
Filesystem         Size Used Avail Use% Mounted on 
/dev/mapper/docker-254:7-66094...f635ac65 4.8G 322M 4.3G 7%/

그리고 여기에는 5Gb 기본 크기가 있습니다.

+0

답장을 보내 주셔서 감사합니다. 이 방법을 시도하고 의문의 여지가 돌아올 때. :) – Nataraj

1

devicemapper settins와 함께 작동합니다.

--storage-driver devicemapper --storage-opt dm.basesize=5G