-
Docker) Union file system의 OverlayFS 실습해보기Cloud/Docker 2022. 9. 28. 01:41
실습 환경 : AWS console (2022/09), Visual Studio Code, Xshell7
실습 목적 : Union file system을 지원하는 OverlayFS 를 알아보고 실습해본다.
Union file system
- 하나의 디렉토리 위치에 여러개의 디렉토리를 마운트하면, 하나의 통합된 디렉토리처럼 보이게하는 파일 시스템
- Docker Image와 Docker container가 union file system 기반으로 관리되고 있다.
- Image layer 특징을 가진다. (마지막 레이어(RW)를 제외하고 다른 레이어들은 Read-only 성격을 갖는다.)
- Copy-on-write (COW) 특징을 가진다. (변경된 내용만 저장한다.)
OverlayFS
Docker에서 사용하는 파일시스템 - OverlayFS는 하나의 파일시스템을 다른 파일시스템 상단에 overlay한다.
- 하단 파일시스템에 상관없이 구성가능 (단, RedHat계열 Linux배포판 에서는 XFS만 하단 파일 시스템으로 지원)
- lowerdir (Image layer) : Read-only 영역으로, 쓰기 불가능한영역이다. Docker Image 파일의 구조이기도 하다.
- upperdir (Container layer) : Read-Write 영역으로, 쓰기가능 영역이다. Docker container 생성시 Application에 의해 쓰기 되는 영역이다.
OverlayFS 파일시스템 구성해보기
1. /tmp 디렉토리에 lower1, lower2, upper, merged, work 디렉토리 생성
# 여러 디렉토리 생성 mkdir /tmp/{lower1,lower2,upper,merged,work}
2. lower1, lower2 디렉토리에 파일 생성
echo “lower1 a” /tmp/lower1/a.txt echo “lower1 b” /tmp/lower1/b.txt echo “lower1 a” /tmp/lower2/a.txt echo “lower1 b” /tmp/lower2/b.txt
3. 읽기 전용 overlay 생성
- /tmp/merged 디렉토리는 읽기 전용이므로 새로운 내용을 추가할 수 없다.sudo mount -t overlay overlay -o lowerdir=/tmp/lower1:/tmp/lower2 /tmp/merged # overlay : 마운트 파일 시스템 # /tmp/merged : 마운트 포인트 # /tmp/lower1:/tmp/lower2 : lowerdir
4. merged 마운트 정보 확인
mount | grep merged
5. 읽기/쓰기 가능한 overlay 생성
- /tmp/merged 디렉토리는 이제 읽기와 쓰기가 모두 가능하다.sudo mount -t overlay overlay -o \ lowerdir=/tmp/lower1:/tmp/lower2,upperdir=/tmp/upper,workdir=/tmp/work \ /tmp/merged
'Cloud > Docker' 카테고리의 다른 글
Docker) Docker Engine 설치해보기 (Ubuntu) (0) 2022.09.28 Docker) Docker Engine (0) 2022.09.28 Docker) namesapce 실습해보기 (0) 2022.09.28 Docker) cgroup (Control Group) 실습해보기 (0) 2022.09.27 Docker) chroot (Change Root) 실습해보기 (0) 2022.09.27