반응형
말랑Cow
IT
말랑Cow
전체 방문자
오늘
어제
  • 분류 전체보기 (165)
    • Linux (33)
    • Windows (6)
    • Network (7)
    • Hardware (10)
    • Zabbix (13)
    • python (9)
    • script (0)
    • docker (16)
    • NAS (1)
    • DB (3)
    • php (33)
    • jQuery (1)
    • 정보보안기사 (0)
    • Ajax (1)
    • Javascript (21)
    • DELL (0)
    • HPE (0)
    • Secui (0)
    • AWS (2)
    • Elastic (0)
    • 보안 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 도커
  • 리눅스
  • Linux
  • CentOS
  • 자빅스
  • php 클래스
  • Python
  • jQuery
  • 서버
  • 네트워크
  • 모니터링
  • 파이썬
  • ZABBIX
  • bash
  • 자바스크립트
  • php 객체
  • php
  • Shell
  • docker
  • JavaScript
hELLO · Designed By 정상우.
말랑Cow

IT

docker

도커 컨테이너 다루기(12) - 도커데몬[3]

2021. 6. 8. 13:58
반응형

1. 컨테이너 저장공간 설정


컨테이너 내부에서 사용되는 파일시스템의 크기는 도커의 스토리지 드라이버에 따라 조금씩 다릅니다.

예를 들어, AUFS나 overlay2 경우 컨테이너는 호스트와 저장 공간의 크기를 공유합니다.

 

[root@localhost ~]# docker info |grep -i storage
 Storage Driver: overlay2
[root@localhost ~]# df -h
...
/dev/mapper/centos-root  8.0G  7.6G  455M  95% /
...
[root@localhost ~]# docker run -ti --name test1 ubuntu:18.04
root@80919a25da04:/# df -h
...
overlay                  8.0G  7.6G  454M  95% /
/dev/mapper/centos-root  8.0G  7.6G  454M  95% /etc/hosts
...

위 예시에서는 호스트의 저장공간은 약 8G이며 컨테이너 또한 해당 저장공간을 그대로 사용합니다.

 

■ devicemapper에서의 컨테이너 저장 공간 설정

 

기본적으로 컨테이너는 10G의 저장 공간을 할당 받습니다.

[root@localhost ~]# docker info | grep -i Storage
WARNING: the devicemapper storage-driver is deprecated, and will be removed in a future release.
WARNING: devicemapper: usage of loopback devices is strongly discouraged for production use.
         Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
 Storage Driver: devicemapper

devicemapper로 지정한 뒤 docker info 확인 시 권장되지 않는다는 경고문이 확인됩니다.

 

[root@localhost ~]# docker run -ti --name test2 ubuntu:18.04
Unable to find image 'ubuntu:18.04' locally
18.04: Pulling from library/ubuntu
4bbfd2c87b75: Pull complete 
d2e110be24e1: Pull complete 
889a7173dcfe: Pull complete 
Digest: sha256:67b730ece0d34429b455c08124ffd444f021b81e06fa2d9cd0adaf0d0b875182
Status: Downloaded newer image for ubuntu:18.04
root@d4e4d7d610ca:/# df -h
Filesystem                                                                                         Size  Used Avail Use% Mounted on
/dev/mapper/docker-253:0-2229445-e172b54b4516b35011b56fde155cf03f275a9f93da5a2656e120f4ea0044a43a   10G  101M  9.9G   1% /

앞에 overlay2 일 때 ubuntu 이미지와 스토리지 드라이버가 달라 새로 받아오는 모습입니다.

이는 도커가 스토리지 드라이버별로 이미지, 컨테이너 파일을 저장하기 때문입니다.

이후 컨테이너 내부에서의 df 명령을 확인해보면 / 에 10G가 할당된 것을 볼 수 있습니다.

 

--storage-opt dm.basesize=20G

 

이런식으로 데몬 실행 시 위 옵션을 통해 컨테이너의 기본 저장 공간 크기를 설정할 수 있습니다.

아무런 설정을 하지 않았다면 이 값은 기본적으로 10G로 설정돼 있습니다.

 

또한 run 명령에서 --storage-opt size=20G 이런식으로도 설정할 수 있습니다.

 

 

■ overlay2에서의 컨테이너 저장 공간 설정

 

스토리지 드라이버가 overlay2이고, 도커 데이터가 저장되어 있는 디스크가 xfs 파일시스템인 경우 project quota 기능을 이용해 컨테이너의 저장 공간을 제한할 수 있습니다.

 

사용방법1) 서버에 디스크 새로 추가

사용방법2) 해당 디스크를 xfs 파일시스템으로 포맷하고 마운트

사용방법3) 도커 엔진의 데이터 저장경로를 xfs 파일시스템의 디렉토리로 변경

 

[mkfs.xfs /dev/디스크] 로 xfs 파일시스템 포맷진행 후 [mount /dev/디스크 '마운트포지션'] 으로 마운트합니다.

DOCKER_OPTS="--storage-driver=overlay2 --data-root=/home/data" 이런식의 옵션으로 데몬설정에 추가한 뒤 도커를 재시작 합니다.

 

docker run -ti --storage-opt size=1G ubuntu:18.40

위 같은 방법으로 저장 공간을 제한할 수 있습니다.

반응형

'docker' 카테고리의 다른 글

도커 컨테이너 다루기(13) - 도커 데몬 모니터링  (0) 2021.06.09
도커 컨테이너 다루기(11) - 도커데몬[2]  (0) 2021.06.08
도커 컨테이너 다루기(10) - 도커데몬[1]  (0) 2021.06.05
도커 컨테이너 다루기(9) - Dockerfile로 빌드할 때 주의할 점  (0) 2021.06.04
도커 컨테이너 다루기(8) - 도커파일(Dockerfile)[2]  (1) 2021.06.03
    'docker' 카테고리의 다른 글
    • 도커 컨테이너 다루기(13) - 도커 데몬 모니터링
    • 도커 컨테이너 다루기(11) - 도커데몬[2]
    • 도커 컨테이너 다루기(10) - 도커데몬[1]
    • 도커 컨테이너 다루기(9) - Dockerfile로 빌드할 때 주의할 점
    말랑Cow
    말랑Cow

    티스토리툴바