Docker(39)
-
DockerFile
🐳 DockerfileDockerfile = 컨테이너가 아니라 “이미지”를 만드는 설계도 📐 Dockerfile은 Docker 이미지를 만들기 위한 설계도라고 생각하면 쉽습니다. 특정 애플리케이션을 실행하기 위해 필요한 운영체제, 라이브러리, 환경 변수, 설정 파일 등을 텍스트 파일에 차례대로 기록한 것입니다. 1. Dockerfile의 핵심 동작 원리Dockerfile을 작성한 후 docker build 명령어를 실행하면, 도커 엔진이 도커파일의 명령어(Instruction)를 위에서부터 아래로 한 줄씩 읽으며 도커 이미지를 생성합니다.Layer 구조: 각 지시어는 하나의 레이어(Layer)를 형성합니다. 변경 사항이 없는 레이어는 캐시(Cache)를 사용하여 빌드 속도를 높입니다.자동화: 환경 구..
2025.12.31 -
Docker Compose 네트워크
🧩 Docker Compose 네트워크 자동 생성 0️⃣ 가장 중요한 포인트 Docker Compose는“프로젝트 단위로 독립된 사용자 정의 bridge 네트워크를 자동 생성한다.”이 문장을 이해하면 절반은 끝입니다. 1️⃣ docker compose up을 실행하면 무조건 일어나는 일📌 docker-compose.ymlservices: web: image: nginx api: image: openjdk:17 📌 실행docker compose up ✅ Compose의 디폴트 동작 규칙네트워크 정의가 없어도자동으로 user-defined bridge 생성도커 컴포즈의 모든 서비스는 그 네트워크에 자동 연결2️⃣ 자동 생성되는 네트워크 이름 규칙 (중요)🔑 디폴트 규칙_default 프..
2025.12.31 -
디폴트 브릿지 vs 사용자 정의 브릿지
🧱 디폴트 브릿지 vs 사용자 정의 브릿지 1️⃣ 디폴트 브릿지 (default bridge)✔️ 정체Docker 설치 시 자동으로 생성이름: bridge실제 Linux Bridge 이름: docker0대역: 172.17.0.0/16docker network lsNETWORK ID NAME DRIVER SCOPExxxx bridge bridge local 🔧 동작 방식docker run nginxdocker run redis아무 네트워크 지정 ❌👉 자동으로 default bridge에 연결구조:nginx ─┐ ├─ docker0 (bridge)redis ─┘ ❌ 치명적인 한계① 컨테이너 이름 기반 DNS ❌ping redis➡️ 안 됩니다왜냐하면:def..
2025.12.31 -
Docker Network
📦 도커 네트워크란 무엇인가?도커 네트워크는컨테이너 간 통신컨테이너 ↔ 호스트컨테이너 ↔ 외부 네트워크위 통신을 리눅스 커널 네트워크 기능을 기반으로 가상화한 계층입니다. 핵심 키워드:Network Namespaceveth pairLinux Bridgeiptables / NATOverlay (VXLAN)🧠 도커 네트워크의 근본 원리 (리눅스 관점)도커는 새로운 네트워크 기술을 만든 게 아닙니다.👉 리눅스 커널이 이미 제공하던 기능을 조합했을 뿐입니다. 핵심 구성 요소구성 요소설명Network Namespace컨테이너마다 독립된 네트워크 스택veth pair가상 랜선 (컨테이너 ↔ 호스트 연결)Linux Bridge가상 스위치iptablesNAT, 포트 포워딩routing table패킷 전달 경로 결..
2025.12.31 -
Union File System & Overlay File System
유니온 파일 시스템(Union File System)은 “개념/원리”이고, overlay2는 그 원리를 리눅스에서 실제로 구현한 “구현체(드라이버)”입니다. 1️⃣ 유니온 파일 시스템(Union File System)이란? (개념) 유니온 파일 시스템은 여러 개의 레이어를마치 하나의 파일 시스템처럼 겹쳐서 보여주는 기술적 개념입니다.핵심 아이디어여러 레이어를 위에서 아래로 쌓음위 레이어가 아래 레이어를 덮어씀(override)읽기 시: 위 → 아래 순서로 탐색쓰기 시: 특정 레이어에만 기록예시 (개념적)Layer 3 (컨테이너 writable layer)Layer 2 (app image)Layer 1 (base image: ubuntu)-----------------------------→ 하나의 파일 ..
2025.12.31 -
Spring Boot 앱의 JAR 파일 구조
🚀 Spring Boot 실행 JAR 파일 구조Spring Boot 애플리케이션은 단순한 JAR가 아닙니다.java -jar demo.jar 한 줄로 실행 가능한 이유는 Spring Boot만의 JAR 구조 설계 덕분입니다.이번 글에서는 실행 가능한 Spring Boot JAR(Executable JAR) 내부 구조에 대해 알아 보겠습니다.👉 디렉터리 단위로👉 역할 중심으로👉 실행 흐름과 연결해서📦 전체 구조 한눈에 보기 Spring Boot 실행 JAR의 기본 구조는 아래와 같습니다.demo.jar ├─ META-INF/ ├─ org/springframework/boot/loader/ ├─ BOOT-INF/ └─ (기타 보조 파일)👉 이 구조는 규약(Convention) 입니다. 🧾 1. ..
2025.12.30