반응형 Docker & Kubernetes13 도커 이미지의 레이어는 무엇인가? 도커 이미지는 여러 개의 레이어(layer) 로 구성되어 있으며 각 레이어는 이미지의 특정 변경 사항을 나타낸다. 이러한 레이어들은 불변성(Immutability) 을 가지며 이전 레이어 위에 순차적으로 쌓여 최종 이미지를 형성한다. 레이어는 파일 시스템의 스냅샷(snapshots)이나 델타(delta) 변경 사항으로 생각할 수 있다. 레이어의 스냅샷(베이스 레이어)과 델타스냅샷 (Snapshot)특정 시점의 전체 파일 시스템 상태를 그대로 저장한 “사진”과 같다.Dorkerfile 의 FROM에 지정하는 기반 이미지가 베이스 레이어가 된다.델타 (Delta)이전 상태와의 변경 사항만 기록하는 방식이다. 베이스 이미지 위에 프로그램 설치, 파일 추가 등 변경된 부분만 별도의 레이어(델타 레이어)로 저장된.. 2025. 1. 12. 도커 이미지 저장 구조 레이어(Layer) 기반 구조도커 이미지는 여러 레이어(계층)로 이루어진다. Dockerfile의 각 명령(FROM, RUN, COPY, …)마다 새로운 레이어가 생긴다. 레이어는 불변(Immutable)하고 보통 SHA256 해시값으로 식별된다.스토리지 드라이버(Storage Driver) 실제 레이어 파일을 디스크에 저장하고 여러 레이어를 합쳐서 하나의 파일시스템처럼 보여주는 기능을 담당한다. 대표적으로 overlay2를 많이 사용하며 /var/lib/docker/overlay2/ 형태로 레이어를 관리한다. 메타데이터(DB) 관리도커 엔진은 어떤 이미지가 어떤 레이어들로 구성되는지, 이미지 이름/태그, 컨테이너 설정을 별도의 내부 DB(메타데이터)로 관리한다.이 정보와 실제 레이어 파일이 정확히 매.. 2025. 1. 12. 도커 이미지 빌드하기 (Apache Airflow) 이 글에서는 Python 3.8을 사용하는 Apache Airflow 2.8.1의 커스텀 도커 이미지를 빌드하는 방법을 알아본다. 1. Dockerfile 생성# 파이썬 3.8을 사용하는 에어플로우 이미지를 기반 이미지로 설정FROM apache/airflow:2.8.1-python3.8# 필요한 패키지 설치 USER root # (root 권한으로 전환)RUN apt-get update && \ apt-get install -y openjdk-17-jdk && \ apt-get clean \ apt-get vimUSER airflow # (airflow 사용자 권한으로 전환)RUN pip install --no-cache-dir \ airflow-code-editor \ .. 2024. 11. 3. 호스트에서 직접 도커 컨테이너에 파이썬 라이브러리 설치하기 운영 서버에서 컨테이너 재시작이 불가능하여 개발에 필요한 라이브러리를 호스트에서 직접 설치해야 하는 상황이 생겼다. 이 글에서는 쉘 스크립트에 호스트의 pip.conf 파일을 각 컨테이너로 복사한 후 (외부 망으로 나갈 수 없어서 내부 망의 넥서스에서 설치하기 위한 작업), 필요한 패키지를 설치하는 과정을 자동화하는 방법을 알아본다.PACKAGES=("zeep" "DBUtils") # 공백으로 구분하여 추가PACKAGES_STRING="${PACKAGES[@]}"CONTAINERS=("airflow-airflow-worker-1" "airflow-airflow-worker-2" "airflow-airflow-worker-3" "airflow-airflow-Webserver-1" "airflow-air.. 2024. 10. 27. 이전 1 2 3 4 다음 반응형