docker 7

[Docker | Part 5] Docker 네트워크 원리 이해

목차WHY — 왜 Docker 네트워크를 알아야 하는가Docker 네트워크 종류컨테이너 간 DNS 통신 원리커스텀 네트워크 구성 실습전체 요약1. WHY — 왜 Docker 네트워크를 알아야 하는가Redis Master-Replica를 구성할 때 Replica가 Master를 어떻게 찾는가?K8s에서 Spring Boot 앱이 Redis에 접속할 때 IP 대신 이름을 쓰는 이유는?컨테이너끼리 통신하는 원리를 모르면 이 질문에 답할 수 없다.Docker 네트워크는 단순한 설정이 아니라 MSA 서비스 간 통신의 기반이다.2. Docker 네트워크 종류구분특징사용 시점bridge기본 네트워크. 컨테이너끼리 격리된 공간에서 통신단일 호스트에서 컨테이너 간 통신host컨테이너가 Host OS 네트워크를 그대로 사..

Infra & Network 2026.04.30

[Docker | Part 4] Volume + Network + Registry

목차WHY — 왜 Volume / Network / Registry가 필요한가Volume — 데이터 영속성Network — 컨테이너 격리Registry — 이미지 배포전체 요약1. WHY — 왜 이걸 알아야 하는가세 가지 문제가 있다.① 데이터가 날아간다 : MySQL 컨테이너를 삭제하면 DB 데이터가 사라진다. Part1에서 배운 쓰기 가능 레이어가 컨테이너와 함께 소멸하기 때문이다 → Volume으로 해결② 네트워크 격리가 필요하다 : 모든 컨테이너가 같은 네트워크에 있으면 DB에 누구나 접근 가능하다 → Network로 해결③ 이미지를 서버에 전달해야 한다 : 로컬에서 빌드한 이미지를 K8s 서버에 어떻게 올리나? → Registry로 해결2. Volume — 데이터 영속성Volume 없을 때doc..

Infra & Network 2026.04.30

[Docker | Part 3] Docker Compose

목차WHY — 왜 Docker Compose가 필요한가docker-compose.yml 구조서비스 간 DNS 통신healthcheck + depends_on.env 파일로 환경변수 분리핵심 명령어 정리환경별 Compose 파일 분리전체 요약1. WHY — 왜 Docker Compose가 필요한가로컬에서 띄운다고 하면docker run -d --name mysql \ -e MYSQL_ROOT_PASSWORD=ari1234 \ -e MYSQL_DATABASE=aridb \ -p 3306:3306 \ mysql:8docker run -d --name redis \ -p 6379:6379 \ redis:7.2docker run -d --name ari-app \ -p 8080:8080 \ --li..

Infra & Network 2026.04.30

[Docker | Part 2] Dockerfile + Multi-stage Build

목차WHY — 왜 Dockerfile을 알아야 하는가Dockerfile 핵심 문법레이어 캐시 전략CMD vs ENTRYPOINTSpring Boot 앱 이미지 만들기Multi-stage Build.dockerignore전체 요약1. WHY — 왜 Dockerfile을 알아야 하는가Part 1에서 redis:7.2를 pull해서 컨테이너로 띄웠다. 그건 누군가 만들어둔 이미지를 가져다 쓴 것이다.아리 팬 커뮤니티의 카드 뽑기 서비스, 채팅 서비스를 K8s에 올리려면? 내 Spring Boot 앱을 직접 이미지로 만들어야 한다. Dockerfile을 모르면 그게 불가능하다.Dockerfile (설계도) │ │ docker build ▼Image (결과물) │ │ docker run..

Infra & Network 2026.04.28

[Docker | Part 1] Docker 핵심 구조 이해

목차환경 준비컨테이너 vs VM — 왜 컨테이너가 가벼운가Image 레이어 구조Image → Container 생성 원리핵심 명령어 실습전체 흐름 요약1. 환경 준비docker --version# Docker version 28.0.4docker images# redis:7.2 이미지 준비 (없으면 아래 명령어로 pull)docker pull redis:7.22. 컨테이너 vs VM — 왜 컨테이너가 가벼운가VM의 구조VM은 하드웨어를 통째로 가상화한다. Hypervisor 위에 Guest OS를 올리고, 그 위에 앱을 올리는 구조다.[Hardware] └── Hypervisor ├── Guest OS (수 GB) → App A └── Guest OS (수 G..

Infra & Network 2026.04.23

[Redis HA | Part 1] Redis Master-Replica + Sentinel 구성

목차환경 준비Docker 네트워크 구성Redis Master-Replica 구성Redis Sentinel 구성Failover 실습장애 복구 확인전체 HA 흐름 요약1. 환경 준비환경 확인docker --versiondocker compose versiondocker info | grep -E "Memory|CPUs"2. Docker 네트워크 구성커스텀 네트워크 생성docker network create redis-cluster-net네트워크 확인docker network lsdocker network inspect redis-cluster-net핵심 개념같은 네트워크 안의 컨테이너끼리는 컨테이너 이름으로 DNS 통신 가능AWS VPC 안의 EC2 인스턴스끼리 통신하는 원리와 동일외부(Mac)에서 컨테이너..

Infra & Network 2026.04.22

[Docker] 기본 명령어 및 내용 정리

docker 장점sanpshotresource controlcan run anywhere(with docker)zero setuplightwightpm2 for any language docker 중요 파일 두가지Dockerfile -> docker image -> run예를 들자면.. package.json = Dockerfile / docker image = build file 느낌 docker daemondocker info : 도커 상태와 정보 확인open -a Docker : 도커 실행 docker redisdocker run redisdocker run -it redisdocker run -it -p 4000:6379 redisredis-cli -p 4000 docker listdocker p..

Docker 2025.07.07