본문 바로가기
리눅스/Part1. Ch02. 컨테이너를 구성하는 리눅스 기술

14. (실습) OverlayFS로 Union Mount 해보기

by Engineer-Lee 2022. 12. 2.
반응형

Overlay 파일시스템 실습 #1
- OverlayFS로 union mount 진행

1. 오버레이 파일시스템 실습에 사용할 디렉토리 생성 
mkdir /tmp/{lower1,lower2,upper,merged,work}


2. 실습에 사용할 파일 생성
echo "lower1 a" > /tmp/lower1/a.txt
echo "lower1 b" > /tmp/lower1/b.txt
echo "lower2 a" > /tmp/lower2/a.txt
echo "lower2 c" > /tmp/lower2/c.txt


3. 읽기 전용 오버레이 
sudo mount \
    -t overlay \
    overlay \
    -o lowerdir=/tmp/lower1:/tmp/lower2 \
    /tmp/merged

 

 

4. /tmp/merged 디렉토리의 a.txt 내용 확인
cat /tmp/merged/a.txt 


5. 마운트 정보 확인  (read-only로 마운트된 상태)
mount | grep overlay


6. 읽기 전용으로 마운트된 /tmp/merged 에 쓰기 동작 수행 
touch /tmp/merged/aa 

read-only 파일시스템이 마운트 되어서 파일 생성이 안된다.


7. 디렉토리 언마운트
sudo umount /tmp/merged 


8. 디렉토리 마운트 
sudo mount \
    -t overlay \
    overlay \
    -o lowerdir=/tmp/lower1:/tmp/lower2,upperdir=/tmp/upper,workdir=/tmp/work \
    /tmp/merged


9. 읽기/쓰기로 마운트된 /tmp/merged 에 쓰기 동작 수행
touch /tmp/merged/aa


10. 파일 쓰여진 위치 확인 
ls -l /tmp/upper


11. 디렉토리 언마운트
sudo umount /tmp/merged 

 

 

 

 

Overlay 파일시스템 실습 #2
- Docker Image관리에 사용되는 OverlayFS 정보 확인

1. docker 설치
sudo apt install -y docker.io


2. Ubuntu 베이스 이미지 가져오기
sudo docker pull nginx
sudo docker images


3. nginx 실행
sudo docker run --rm -d nginx


4. overlayfs mount 정보 조회
mount | grep overlay

 

 

 

 

 

 

컨테이너 구성하는 3가지 주요 리눅스 기술

- Control groups

자원의 사용량을 결정 (CPU, Memory, Network, Storage,,,)

- Namespaces

자원을 격리 (네트워크, 프로세스 정보, 사용자 정보,,,) 

- Union mount filesystem

이미지 효율적 관리 (이미지 레이어, CoW)

반응형