Docker에 대해

oversleep·2025년 2월 1일
post-thumbnail

컴퓨터 게임을 예로 든다면:

  1. Docker가 필요한 이유
  • 게임을 설치할 때 "아 이 게임 윈도우에서만 된대..." 또는 "이 게임 맥에서는 안 돌아가네..."같은 경우
  • 프로그램도 마찬가지. 어떤 환경에서 만들었느냐에 따라 다른 환경에서는 안 돌아갈 수 있음
  • Docker는 이런 문제를 해결함. "어떤 환경에서든 똑같이 돌아가게"
  1. Docker 이해하기
  • Docker는 마치 "미니 컴퓨터"를 만드는 것과 같음
  • 이 미니 컴퓨터(컨테이너)에는 프로그램이 돌아가는데 필요한 모든 것이 들어있음
  • 그래서 이 미니 컴퓨터만 있으면 윈도우든 맥이든 리눅스든 어디서나 똑같이 동작함
  1. 실제 사용 예

    백엔드 서버를 실행할 때 필요한 것들:
    - 자바
    - 스프링부트
    - MySQL 데이터베이스
    - Redis

    Docker 없이:
    "어... 자바 설치하고... MySQL 설치하고... Redis도 설치하고..."

    Docker 사용:
    "docker-compose up" 한 방이면 끝!

  1. docker-compose.yml 파일의 이해
services:          # "이런 미니 컴퓨터들이 필요해요"
  app:            # "우리 앱 서버"
    build: .      # "여기 있는 걸로 만들어주세요"
    ports:        # "이 포트로 연결해주세요"
      - "8080:8080"
    
  mysql:          # "MySQL 데이터베이스"
    image: mysql  # "MySQL 공식 이미지 사용할게요"
  1. 주요 명령어
# 시작하기
docker-compose up

# 끄기
docker-compose down

# 로그 보기
docker-compose logs
  1. Docker Desktop
  • Docker를 쉽게 사용할 수 있게 해주는 프로그램
  • 윈도우나 맥에 설치해서 사용
  • 이게 실행되어 있어야 Docker 명령어들이 작동함

요약:

Docker는 "어디서든 똑같이 돌아가게 해주는 미니 컴퓨터를 만드는 도구"

profile
궁금한 것, 했던 것, 시행착오 그리고 기억하고 싶은 것들을 기록합니다.

0개의 댓글