전체 글 (306)
2025-09-18 23:03:46
반응형

🚀 배포, 프로비저닝 및 자동화 (Deployment, Provisioning & Automation)

1. 도메인 개요

  • 비중: 시험 점수의 약 18%
  • 핵심 테마
    1. 클라우드 리소스의 프로비저닝 및 유지 관리
    2. 반복 가능한 프로세스 자동화

2. 주요 학습 주제

(1) 리소스 프로비저닝 및 유지 관리

  • EC2 AMI: AMI 생성·관리 (Image Builder 활용 포함)
  • CloudFormation: IaC(Infrastructure as Code)로 스택 생성·관리, 문제 해결
  • 리전·계정 간 리소스 관리
    • Resource Access Manager (RAM)
    • CloudFormation StackSets
    • IAM Cross-Account Role
  • 배포 전략
    • Blue-Green
    • Rolling Update
    • Canary Deployment
  • 서비스 할당량(Service Quotas)
    • 자원 제한 이유 (안정성·보안)
    • 제한 상향 요청 방법
  • 오류 대응
    • VPC/서브넷 크기 설정
    • CloudFormation 템플릿 오류
    • OpsWorks 에러 처리

(2) 수동 또는 반복 가능한 프로세스 자동화

  • 자동화 도구
    • CloudFormation (IaC)
    • AWS OpsWorks (Chef, Puppet)
    • Elastic Beanstalk (애플리케이션 배포 자동화)
    • AWS Systems Manager (패치 관리, Run Command, Automation Runbooks)
  • 이벤트 기반 자동화
    • Amazon EventBridge → 일정·이벤트 기반 작업 트리거
    • AWS Config → 규정 위반 시 자동 조치
  • 자동화 시나리오
    • 정기 패치 관리
    • 인스턴스 자동 시작·중지
    • 리소스 정책 자동 수정

3. 시험에서 나올 수 있는 예시 포인트

  • AMI 생성·배포 프로세스에 대한 질문
  • CloudFormation 스택 오류 원인 분석
  • 서비스 할당량 초과 → 해결 방법? (Quotas 변경 요청)
  • Blue-Green/Canary 배포 전략 비교
  • Systems Manager Automation으로 패치 관리 자동화
  • EventBridge 규칙으로 특정 이벤트 발생 시 Lambda 실행

4. 실무 적용 인사이트

  • 운영자가 직접 리소스를 생성·변경하는 대신 IaC 및 자동화로 표준화된 환경 제공
  • 반복 작업 최소화 → 인적 오류 감소
  • 배포 전략(Blue-Green 등)을 통해 무중단 배포 가능
  • 서비스 할당량 관리로 장애 예방
  • 자동화 도구 조합 (CloudFormation + Systems Manager + EventBridge)으로 운영 효율성 극대화

핵심 요약
배포, 프로비저닝 및 자동화는 AWS 인프라를 표준화·자동화하여 운영 효율성을 극대화하는 영역입니다.
시험에서는 AMI, CloudFormation, 배포 전략, 자동화 서비스(EventBridge, Systems Manager, Config) 관련 문제가 자주 출제되며,
실무에서는 반복 작업 자동화 + 무중단 배포 전략이 가장 중요한 포인트입니다.


🚀 배포, 프로비저닝 및 자동화에 대한 이해

1. 개념 정리

  • 배포(Deployment)
    애플리케이션과 인프라를 특정 환경(개발, 테스트, 운영)에 올려 실행하는 과정
    → 예: Blue-Green, Rolling, Canary 배포 전략
  • 프로비저닝(Provisioning)
    클라우드 자원(EC2, VPC, DB 등)을 생성·구성하여 애플리케이션이 실행될 기반을 마련하는 것
    → 예: EC2 인스턴스 생성, VPC 서브넷 설정
  • 자동화(Automation)
    반복되는 작업(패치, 업데이트, 백업 등)을 스크립트·도구로 자동 실행하는 것
    → 예: Systems Manager Run Command, EventBridge 스케줄링

2. CloudFormation의 핵심 이점

  • 인프라를 코드(IaC) 로 관리
    • JSON/YAML 템플릿으로 전체 아키텍처 정의
    • 버전 관리 및 검토 가능 → GitOps 적용
  • 표준화와 재사용성
    • 동일한 아키텍처를 여러 리전·계정에 손쉽게 배포
  • 업데이트 및 복구 용이
    • 스택 업데이트, 롤백 기능 → 장애 시 빠른 복원
  • 자동화된 배포 파이프라인과 연계
    • CodePipeline + CloudFormation → CI/CD 자동화

3. Systems Manager와 운영 자동화

  • Run Command: 여러 EC2 인스턴스에 동시에 명령 실행
  • Patch Manager: 자동 패치 적용 및 관리
  • Automation Runbook: 미리 정의된 운영 절차 자동 실행
  • State Manager: 서버 설정 자동 유지

👉 장점: 수십·수백 대 서버 운영 시 인적 오류 최소화, 반복 작업 자동화


4. 자동화 사례

  • 자동 패치 관리: 새벽 시간대에 OS 업데이트 예약
  • 트래픽 비활성 시간 업데이트: 피크 시간대 피해서 배포
  • 로그 집계 및 보관: 월 1회 자동 실행
  • 자동 시작·중지: 비용 최적화를 위해 업무 시간 외 인스턴스 종료

5. 정리

  • CloudFormation → 인프라 표준화 & 코드 기반 관리
  • Systems Manager → 대규모 서버 운영 효율화
  • 자동화 → 인적 오류 줄이고, 비용·운영 효율성 향상

💡 핵심 요약
배포·프로비저닝·자동화를 이해하면 AWS를 더 쉽고 안전하게 운영할 수 있고,
시험에서도 CloudFormation, Systems Manager, 배포 전략, 자동화 도구(EventBridge, Config)가 자주 출제됩니다.


 

반응형

'AWS > Skill Builder_AWS SOA-C02' 카테고리의 다른 글

AWS SOA-C02 Domain 6 Review  (0) 2025.09.19
AWS SOA-C02 Domain 5 Review  (0) 2025.09.19
AWS SOA-C02 Domain 4 Review  (0) 2025.09.19
AWS SOA-C02 Domain 1 Review  (0) 2025.09.18
2025-09-18 22:38:41
반응형

☁️ AWS 모니터링 · 로깅 · 문제 해결 정리

1. 왜 중요한가?

  • 운영 환경에서 발생하는 성능 저하, 장애, 보안 위협을 빠르게 감지하고 대응할 수 있음
  • 비용 최적화, 자동화, 보안 강화와도 직결
  • AWS 자격증 시험 비중이 약 20%로 매우 큼
  • 실제 실무에서도 트러블슈팅 경험을 가장 많이 쌓을 수 있는 영역

2. 주요 영역

(1) 로그와 지표 데이터 수집·분석

  • CloudWatch Metrics: 지표 수집 (CPU, 메모리, 네트워크 등)
  • CloudWatch Logs: 애플리케이션·시스템 로그 저장
  • CloudWatch Logs Insights: 로그 검색·쿼리
  • CloudTrail: API 호출 기록 추적 (보안·컴플라이언스 핵심)
  • CloudWatch 대시보드: 지표 시각화
  • 경보(Alarm): 특정 임계값 초과 시 알림(SNS 연계)

(2) 문제 탐지 및 대응

  • Amazon EventBridge: 이벤트 기반 자동화
  • AWS Systems Manager: 자동화된 운영/패치/런북 실행
  • AWS Config: 리소스 형상 추적 및 규정 준수 확인
  • AWS Health Dashboard: AWS 서비스 장애/점검 알림
  • Service Quotas: 리소스 제한 모니터링

3. 문제 해결 절차 (Troubleshooting Flow)

  1. 이상 감지 → CloudWatch 지표/알람
  2. 원인 분석 → CloudWatch Logs / Logs Insights
  3. 보안 이벤트 확인 → CloudTrail, GuardDuty
  4. 자동화 대응 → EventBridge + Systems Manager Automation
  5. 사후 점검 → AWS Config 규칙·리포트, Cost Explorer 비용 확인

4. 시험과 실무 적용

  • 시험 포인트
    • CloudWatch, CloudTrail, SNS, EventBridge, Systems Manager, AWS Config 간의 상호작용 이해
    • “장애 발생 → 로그 분석 → 알림 → 자동화 대응” 시나리오 문제 자주 출제
  • 실무 포인트
    • 경보(Alert) → Slack/MS Teams 알림 연계
    • 로그 분석 → 문제 재현/재발 방지
    • 비용 관리 → 비정상 리소스 탐지 및 종료

💡 핵심 요약

AWS 모니터링·로깅·문제 해결은 단순한 문제 감지를 넘어서,
보안·비용 최적화·자동화 운영까지 연결되는 영역이며,
CloudWatch + CloudTrail + Config + Systems Manager를 중심으로 학습하는 것이 가장 효과적입니다.


☁️ 모니터링 · 로깅 · 수정 (Monitoring, Logging & Remediation)

1. 왜 중요한가?

  • 문제를 빠르게 감지하고 고객 피해를 최소화
  • 환경의 최적 상태와 성능 유지
  • 보안·자동화·비용 최적화에도 직결
  • 시험 비중도 높고, 실무 활용도가 매우 큼

2. 실제 사례: 소매 업체 웹사이트

  • 상황: 상품 카탈로그와 실제 재고를 비교하는 앱이 다운됨
    • 모니터링 없음 → 고객이 재고 없는 상품을 구매 가능, 주문 지연 → 고객 불만 ↑
    • 모니터링 있음 → CloudWatch 지표·로그 → 알람 발생 → SNS로 담당자 알림 → 문제 조기 해결 가능

👉 장점: 고객 경험 개선, 피해 최소화
👉 단점: 담당자가 새벽에도 대응해야 할 수도 있음


3. AWS 모니터링·로깅 구성 요소

  • Amazon CloudWatch
    • 지표 수집 (Metrics)
    • 로그 수집 (Logs, Logs Insights)
    • 경보 (Alarms)
    • 대시보드 (Dashboards)
  • Amazon SNS
    • 경보/이벤트 알림 발송
  • AWS CloudTrail
    • API 호출 추적 (보안/컴플라이언스)
  • AWS Config
    • 리소스 변경 추적, 규정 준수 확인
  • AWS Systems Manager
    • 런북 기반 자동화된 수정(Remediation)
  • Amazon EventBridge
    • 이벤트 기반 자동화

4. 운영 인사이트 활용

  • 상태 점검: 장기 지표·로그 데이터 축적 → 추세 분석
  • 벤치마크 테스트: 성능 및 안정성 기준 측정
  • 자동화: 반복되는 수정 작업을 EventBridge + Systems Manager로 자동화
  • 비용 최적화: 모니터링 데이터로 리소스 크기·종류 조정

5. 아키텍처 다이어그램 (예시)

 

핵심 요약

모니터링·로깅·수정은 단순히 “문제 발생 시 확인” 수준을 넘어,
신뢰성, 비용 효율성, 보안, 자동화를 모두 뒷받침하는 AWS 운영의 필수 기술입니다.
CloudWatch·CloudTrail·SNS·Config·Systems Manager·EventBridge를 중심으로 학습하고,
실제 아키텍처 시나리오에 적용해 보는 것이 가장 효과적인 학습 방법입니다.

반응형

'AWS > Skill Builder_AWS SOA-C02' 카테고리의 다른 글

AWS SOA-C02 Domain 6 Review  (0) 2025.09.19
AWS SOA-C02 Domain 5 Review  (0) 2025.09.19
AWS SOA-C02 Domain 4 Review  (0) 2025.09.19
AWS SOA-C02 Domain 3 Review  (0) 2025.09.18
2025-09-18 11:31:50
반응형
# openjdk 검색
docker search openjdk

 

# docker mysql
docker search mysql

 

# 실행 중인 컨테이너만 표시
docker container ls

# 컨테이너 전체 목록 표시 (실행 중 및 정지 상태)
docker container ls -a

반응형
2025-09-18 01:12:03
반응형

🐳 리눅스(Ubuntu)에서 Docker 설치하기

1. 사전 준비 사항

필요한 패키지 설치

sudo apt-get update  
# 패키지 목록을 최신으로 갱신

sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
# 도커 설치에 필요한 기본 도구 설치
# - ca-certificates : 보안 인증서 관련
# - curl : 인터넷에서 파일 다운로드
# - gnupg : 보안 키 관리
# - lsb-release : Ubuntu 버전 확인용

2. GPG 키 추가

sudo mkdir -m 0755 -p /etc/apt/keyrings
# 도커 키를 저장할 폴더 생성 (권한 0755)

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
    sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 도커 공식 GPG 키를 다운로드 후 변환하여 저장


3. Docker 리포지토리 추가

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 도커 소프트웨어를 받을 수 있는 저장소(repository)를 시스템에 등록
 
 
 
 

4. Docker 엔진 설치

sudo apt-get update
# 저장소 등록 후 다시 패키지 목록 업데이트

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 도커 본체와 관련 도구 설치
# - docker-ce : 도커 엔진 (Community Edition)
# - docker-ce-cli : 도커 명령어 도구
# - containerd.io : 컨테이너 관리 런타임
# - docker-buildx-plugin : 확장 빌드 도구
# - docker-compose-plugin : 여러 컨테이너 실행 도구
 

💡 설치 중 Y 를 입력해야 설치가 진행됩니다.


5. 설치 확인

docker # 도커 명령어 실행 → 사용 가능한 옵션이 나오면 정상 설치


6. 도커 서비스 상태 확인

systemctl status docker # 도커 서비스가 실행 중인지 확인 # active (running) 이 나오면 정상 실행 중


7. 일반 사용자도 도커 사용 가능하게 설정

sudo usermod -aG docker $USER
# 현재 사용자를 docker 그룹에 추가 → sudo 없이 사용 가능

exit
# 세션 종료 후 다시 로그인해야 반영됨


8. 도커 버전 확인

docker version # 도커 클라이언트/서버 버전 확인


9. 샘플 실행 (Hello World)

docker run hello-world 

# 도커 허브에서 hello-world 이미지 다운로드 후 실행 
# 정상 설치 시 안내 메시지 출력


📊 설치 과정 시각화 (Mermaid)

 

 


🔧 현업에서 도커 설치 후 하는 일

  1. 개발 환경 구축
    • 팀원이 같은 환경에서 개발 → 환경 차이 줄임
  2. 테스트 서버 운영
    • docker-compose 로 웹 서버, DB, 캐시 서버 쉽게 띄움
  3. 자동 배포 파이프라인 구축 (CI/CD)
    • 깃허브 푸시 → 도커 이미지 빌드 → 서버 자동 배포
  4. 클라우드 서비스 연계
    • AWS ECS, EKS, GCP GKE 등에서 컨테이너 기반 운영

✅ 정리

  • Docker 설치는 패키지 준비 → 키 등록 → 저장소 추가 → 엔진 설치 순서
  • 설치 후 docker run hello-world 로 정상 동작 여부 확인
  • 현업에서는 개발환경 통일, 테스트 자동화, 마이크로서비스 운영에 필수

 

더보기

🐳 Ubuntu에서 Docker 설치 요약

1. 사전 준비

sudo apt-get update sudo apt-get install ca-certificates curl gnupg lsb-release

2. GPG 키 추가

sudo mkdir -m 0755 -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \ sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
 

3. 리포지토리 등록

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \ | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

4. Docker 설치

sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

5. 설치 확인

docker # 명령어 확인 
systemctl status docker # 실행 상태 확인 
docker version # 버전 확인

6. 일반 사용자 권한 추가

sudo usermod -aG docker $USER 
exit # 로그아웃 후 다시 로그인

7. 샘플 실행

docker run hello-world

📊 설치 흐름 (Mermaid)

 
 

✅ 현업 활용

  • 팀원 모두 같은 개발환경 공유
  • 테스트/운영 서버에 빠른 배포
  • CI/CD 자동화 (GitHub, Jenkins와 연동)
  • 클라우드 연계 (AWS ECS/EKS, GCP GKE 등)

 

반응형
2025-09-18 00:59:19
반응형

# 🐳 Docker 사용 가이드

## 1. 도커 구성 요소

### 📌 주요 구성요소

- **Docker Client (docker-cli)**  
    사용자가 터미널에서 명령어 입력 (예: `docker run`)
    
- **Docker Daemon (dockerd)**  
    백그라운드에서 실행, 컨테이너/이미지 관리
    
- **containerd**  
    컨테이너의 전체 생애주기 관리 (생성, 실행, 중지, 삭제)
    
- **runc**  
    실제 컨테이너 실행 담당
    
- **containerd-shim**  
    containerd ↔ runc 중간 연결자, 실행 조정
    

---

### 📊 도커 구성요소 다이어그램

```mermaid
flowchart TD
    A["사용자 (Docker CLI)"] --> B["Docker Daemon (dockerd)"]
    B --> C["containerd (컨테이너 생애주기 관리)"]
    C --> D["runc (컨테이너 실행)"]
    C --> E["containerd-shim (중개자)"]
```


---

## 2. 도커 실행 환경

- **리눅스**: 바로 설치 가능 (CLI 환경 위주)
    
- **윈도우 / macOS**:
    
    - Docker Desktop 패키지 사용 (내부적으로 리눅스 VM 실행)
        
    - 사용자는 VM 신경 안 쓰고 일반 프로그램처럼 실행 가능
        

---

### 📋 도커 Desktop 요구사항

- **윈도우**
    
    - Windows 10 64bit (Pro, Enterprise, Education) / Build 16299 이후
        
    - Home 버전은 WSL2 필요
        
    - CPU 가상화(SLAT) 지원, 메모리 4GB 이상
        
- **macOS**
    
    - 2010년 이후 모델
        
    - macOS 10.13 이후, 메모리 4GB 이상
        
- **리눅스**
    
    - Ubuntu 16.04 이후 등 주요 배포판 지원
        

---

## 3. 도커 동작 방식

### 📊 동작 흐름

```mermaid
sequenceDiagram
    participant U as 사용자 (docker run)
    participant C as Docker Client
    participant D as Docker Daemon
    participant H as Docker Hub
    participant N as Container

    U->>C: docker run hello-world
    C->>D: 명령 전달
    D->>H: 이미지 요청 (hello-world)
    H-->>D: 이미지 다운로드
    D->>N: 컨테이너 생성 및 실행
    N-->>U: 실행 결과 출력
```



---

### 📦 이미지와 컨테이너

- **이미지(Image)**
    
    - 프로그램 + 라이브러리 + 설정을 묶은 패키지
        
    - "빵틀" 같은 역할
        
    - 여러 개의 "레이어(Layer)"로 구성
        
- **컨테이너(Container)**
    
    - 이미지를 실행한 인스턴스
        
    - 실행/중지/삭제 가능
        
    - 독립된 파일 시스템과 환경을 가짐
        

---

## 4. 도커 첫 실행 (Hello World)

### 🚀 명령어

`# 도커 "hello-world" 컨테이너 실행 docker run hello-world`  

### 📝 한 줄씩 설명

- `docker` → 도커 명령어 실행
    
- `run` → 새로운 컨테이너를 실행하겠다는 의미
    
- `hello-world` → Docker Hub에서 제공하는 기본 테스트 이미지
    

---

### ⚡ 실행 과정

1. 사용자가 `docker run hello-world` 입력
    
2. Docker Client → Docker Daemon에 명령 전달
    
3. Daemon이 Docker Hub에서 이미지 다운로드
    
4. Daemon이 컨테이너 생성 및 실행
    
5. 실행 결과를 사용자 터미널에 출력
    

---

## 5. 컨테이너가 가벼운 이유

- 운영체제를 하나씩 포함하는 VM과 달리,  
    **호스트 OS 커널을 공유**해서 불필요한 리소스 사용이 없음.
    
- 따라서 실행 속도도 빠르고, 메모리/디스크 효율도 좋음.
    

---

## 6. 현업에서 도커 활용 사례

- **개발 환경 공유**
    
    - 팀원 모두 같은 개발 환경 사용 (환경 차이로 인한 문제 방지)
        
- **테스트 및 배포 자동화 (CI/CD)**
    
    - GitHub Actions, Jenkins, GitLab CI/CD와 연계해 자동 배포
        
- **마이크로서비스 운영**
    
    - 여러 개의 독립적인 컨테이너로 서비스 운영 (예: 웹, DB, 캐시 분리)
        
- **클라우드 환경과 결합**
    
    - AWS ECS, EKS / GCP GKE / Azure AKS 등과 함께 사용
        

---

# ✅ 정리

- 도커는 **이미지 → 컨테이너 실행 구조**
    
- **Docker CLI → Daemon → containerd → runc** 흐름
    
- 현업에서는 **개발환경 통일, 자동화 배포, 마이크로서비스 운영**에 필수
    

---

👉 여기까지 하면 **도커 사용 구조 + 설치 + 동작 원리 + Hello World 실습**을 전체적으로 이해할 수 있어요.

반응형
2025-09-17 13:51:45
반응형

# 🐳 Docker 가상화 및 컨테이너 관리

## 1. 도커(Docker) 이해하기

### 📌 도커란?

- **도커(Docker)** 는 **프로그램을 격리해서 실행**시켜주는 도구예요.
    
- "내 컴퓨터에서는 되는데, 다른 컴퓨터에서는 안 돼!" 👉 이런 문제를 해결해줘요.
    
- **컨테이너(Container)** 라는 상자 안에 프로그램을 넣고 실행합니다.
    
- 가상머신(VM)보다 **가볍고 빠르다**는 장점이 있어요.
    

---

## 2. 가상화 vs 컨테이너


```mermaid
flowchart LR
    A["물리 서버<br/>💻"] --> B["가상화 (VM)<br/>🗂️"]
    A --> C["컨테이너 (Docker)<br/>📦"]

    B --> B1["운영체제 포함<br/>⚙️"]
    B --> B2["리소스 사용 많음<br/>📈"]

    C --> C1["공유 OS 위 실행<br/>⚡"]
    C --> C2["리소스 사용 적음<br/>💡"]
```



- **가상화(VM)**: 운영체제(OS)를 여러 개 띄워서 무거움.
    
- **컨테이너(Docker)**: 운영체제를 공유하므로 가볍고 빠름.
    

---

## 3. 도커의 기본 개념

- **이미지(Image)**: 프로그램을 찍어낼 수 있는 "빵틀" 같은 것.
    
- **컨테이너(Container)**: 이미지를 실행해서 만들어진 "빵" 같은 것.
    
- **도커 엔진(Docker Engine)**: 컨테이너를 만들고 실행시키는 프로그램.
    
- **도커 허브(Docker Hub)**: 전 세계 사람들이 만든 이미지를 공유하는 "앱스토어" 같은 곳.
    

---

## 4. 도커 컨테이너 생애주기

```mermaid
flowchart TD
    A[📦 이미지] --> B[▶️ 컨테이너 생성]
    B --> C[⏸️ 실행 중]
    C --> D[⏹️ 중지]
    D --> E[🗑️ 삭제]
    C --> F[🔄 새로운 버전으로 교체]
```



- 컨테이너는 **일회용품**처럼 쓰고 버리는 게 기본.
    
- 데이터는 **호스트 서버 디스크**에 따로 저장해두어야 안전해요.
    

---

## 5. 도커의 장점과 단점

|✅ 장점|⚠️ 단점|
|---|---|
|한 대의 서버에 여러 개 실행 가능|리눅스 프로그램만 지원|
|관리하기 쉽다|서버가 죽으면 컨테이너도 영향|
|개발환경 통일|컨테이너 1개만 쓰면 비효율|

---

## 6. 도커 기본 명령어 예시 (한 줄씩 주석 포함)


```bash
# 도커 허브에서 nginx(웹 서버) 이미지 다운로드
docker pull nginx  

# nginx 이미지를 이용해 컨테이너 실행 (이름을 myweb으로 지정)
docker run --name myweb -d -p 8080:80 nginx  

# 현재 실행 중인 컨테이너 확인
docker ps  

# 컨테이너 중지
docker stop myweb  

# 컨테이너 삭제
docker rm myweb  

# 이미지 삭제
docker rmi nginx  
```


📝 **설명**


- `docker pull nginx` → "nginx라는 빵틀을 가져온다"
    
- `docker run` → "그 빵틀로 빵(컨테이너)을 굽는다"
    
- `docker ps` → "지금 오븐에서 굽고 있는 빵들 확인"
    
- `docker stop` → "빵 굽는 거 멈추기"
    
- `docker rm` → "빵 버리기"
    
- `docker rmi` → "빵틀 버리기"
    

---

## 7. 현업에서 도커 활용 사례

- **개발 환경 통일**
    
    - 팀원 모두 같은 환경에서 개발 가능
        
    - "내 컴퓨터에서는 되는데?" 문제 해결
        
- **테스트 환경**
    
    - 새 버전 프로그램을 쉽게 테스트 가능
        
    - 예: 개발 → 테스트 → 운영 배포
        
- **마이크로서비스**
    
    - 여러 개의 작은 서버(웹, DB, API)를 컨테이너로 각각 실행
        
    - 서로 독립적이라 관리가 쉬움
        
- **CI/CD 자동화**
    
    - 깃허브 → 도커 빌드 → 서버 배포 자동화
        
    - 실무에서 **Jenkins, GitHub Actions, GitLab CI** 등과 자주 같이 씀
        

---

## 🚀 정리

- 도커는 **가볍고 빠른 가상화 기술**
    
- **이미지 → 컨테이너** 구조
    
- **현업에서는 개발환경 공유, 배포 자동화, 마이크로서비스 운영**에 필수

반응형