Docker ‐ 데이터 관리 및 볼륨으로 작업 - dnwls16071/Backend_Summary GitHub Wiki

📚 Docker 컨테이너 구조

image
  • 4개의 Thin R/W Layer가 상단에 존재하며 이들은 컨테이너의 읽기/쓰기 가능한 레이어들이다.
  • 각 레이어는 애플리케이션이나 프로세스 변경 사항을 저장한다.
  • 이런 Docker 컨테이너의 특징을 Docker 레이어드 파일 시스템이라고 한다.
    • 계층화 : 각 레이어는 이전 레이어 위에 쌓인다.
    • 불변성 : 하단 레이어들은 읽기 전용이다.
    • 효율성 : 동일한 베이스 이미지를 공유하는 컨테이너들은 하단 레이어를 공유한다.
    • Copy-on-Write : 상단의 R/W 레이어에서만 실제 변경이 일어난다.
  • 이런 구조가 Docker 스토리지 공간을 효율적으로 사용하고 컨테이너 시작 속도를 높이는 핵심 메커니즘이 된다.
  • 원치 않는 파일과 디렉터리를 빌드 과정에서 제거해 빌드 속도를 향상시키는데 사용한다.

빌드인수 ARG & 환경변수 & .env

  • ARG란 빌드 시점에 사용할 수 있는 변수를 정의하는 것을 말한다.
ARG <name>[=<default value>] [<name>[=<default value>]...]
  • .env파일은 여러 서비스에 작성되어야 하는 중복을 개선하기 위해 사용한다.
⚠️ **GitHub.com Fallback** ⚠️