Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- TIL
- 가상환경
- Django
- dockerfile
- S3
- airflow
- 데이터 웨어하우스
- 컴퓨터 네트워크
- 파이썬
- 종류
- AWS
- 자료구조
- http
- 데이터 엔지니어링
- HADOOP
- 정리
- 운영체제
- airflow.cfg
- redshift
- linux
- PYTHON
- 데브코스
- Go
- TCP
- Docker
- 데이터베이스
- 데이터 파이프라인
- 컴퓨터네트워크
- 데이터엔지니어링
- sql
Archives
- Today
- Total
홍카나의 공부방
[Docker] Image 내부의 파일 구조 확인하기 본문
docker run {이미지 이름} ls
위 명령어를 입력하면
docker 이미지 내부의 파일 시스템 구조를 확인할 수 있다.
예를 들어서
> docker run ubuntu ls
위 명령어를 실행하면
1. ubuntu 이미지 기반의 새로운 컨테이너를 생성한다.
2. 컨테이너를 생성할 때, ubuntu 이미지에 포함된 파일 스냅샷(snapshot)을 컨테이너 파일 시스템에 Mount한다. 즉, 이미지에 저장된 파일 시스템 레이어를 컨테이너에서 접근 가능하도록 만드는 과정이다.
3. 이미지 이름 뒤에 ls가 붙었기 때문에 ubuntu 이미지의 기본 커맨드(ex: /bin/bash)를 대체하여 ls 명령어가 실행된다.
이러한 process를 거친다.
위 process를 보고 가질 수 있는 궁금증에 대하여 아래와 같이 짧은 답변을 남긴다.
(1) Docker 컨테이너는 가상의 파일 저장공간(storage)을 가지고 있지 않고, host system의 storage에 분리 저장한다.
(2) 파일 스냅샷은 이미지를 구성하는 파일과 디렉토리의 상태로 이해하면 된다. git commit과 유사하게 특정 시점에서의 파일 시스템 상태를 의미한다.
(3) 이미지 파일 스냅샷에서 ls 명령어를 사용 가능하게 하는 파일이 있어야 ls 명령어가 실행될 수 있다. 예를 들어서 docker run hello-world ls를 실행하면 ls가 실행 가능하지 않다는 오류가 발생할 것이다.
반응형
'Data Engineering > Docker' 카테고리의 다른 글
[Docker] Dockerfile WORKDIR 설정의 의미 (0) | 2023.12.30 |
---|---|
[Docker] Docker stop vs. Docker kill 차이점 (0) | 2023.12.30 |
[Docker] WSL (0) | 2023.10.30 |
[Docker] Docker Compose란? + 명령어 (0) | 2023.07.02 |
[Docker] Docker 컨테이너 삭제 (0) | 2023.07.02 |