본문 바로가기

IT/Docker

Docker 주요 개념

728x90

2. Docker의 주요 개념

2.1 이미지 $(Image$)

Docker 이미지$(Image$)는 컨테이너를 실행하기 위한 템플릿입니다. 이미지는 읽기 전용이며, 애플리케이션과 그 실행에 필요한 파일, 라이브러리, 설정 등을 모두 포함하고 있습니다. Docker 이미지는 컨테이너를 실행하는 데 필요한 환경을 완전히 정의합니다.

  • 이미지는 레포지토리태그로 구성됩니다. 예: nginx:latest
    • 레포지토리: 기본 애플리케이션 이름, 예: nginx
    • 태그: 특정 버전 또는 상태, 예: latest, 1.19, stable
  • 이미지는 여러 레이어로 구성되며, 각각의 레이어는 명령어$(RUN, COPY, ADD$)에 의해 생성됩니다.
  • 이미지는 커스터마이즈가 가능하며, 새로운 이미지 생성을 위해 docker build 명령어를 사용합니다.

주요 명령어:

  • docker pull <이미지명>: Docker Hub에서 이미지를 다운로드합니다.
  • docker build -t <이미지명> .: 현재 디렉터리에서 Dockerfile을 기반으로 이미지를 빌드합니다.
  • docker images: 로컬에 저장된 이미지 목록을 확인합니다.

2.2 컨테이너 $(Container$)

Docker 컨테이너$(Container$)는 이미지를 실행한 인스턴스입니다. 각 컨테이너는 독립적인 실행 환경을 가지며, 애플리케이션을 격리하여 실행합니다.

  • 컨테이너는 애플리케이션 실행을 위한 단일 프로세스를 포함하고 있습니다.
  • 컨테이너는 일시적이며, 실행 중에 데이터를 변경하거나 저장할 수 있습니다. 하지만 컨테이너가 종료되면 해당 데이터는 사라집니다. $(볼륨을 사용하면 데이터를 지속적으로 저장할 수 있음$)
  • 컨테이너는 격리된 환경을 제공하며, 다른 컨테이너나 호스트 시스템과는 독립적으로 실행됩니다.

주요 명령어:

  • docker run <옵션> <이미지명>: 이미지를 기반으로 컨테이너를 실행합니다.
  • docker ps: 실행 중인 컨테이너 목록을 확인합니다.
  • docker stop <컨테이너 ID>: 실행 중인 컨테이너를 중지합니다.
  • docker rm <컨테이너 ID>: 중지된 컨테이너를 삭제합니다.

2.3 Dockerfile

Dockerfile은 Docker 이미지를 자동으로 생성할 수 있게 해주는 설정 파일입니다. Dockerfile은 이미지의 빌드 과정을 정의하는 일련의 명령어들이 포함되어 있습니다.

  • Dockerfile을 사용하면 반복 가능하고 일관된 이미지를 만들 수 있습니다.
  • Dockerfile의 기본 명령어:
    • FROM: 베이스 이미지 정의
    • RUN: 명령어 실행 $(패키지 설치 등$)
    • COPY: 파일을 이미지에 복사
    • ADD: 파일/디렉토리 추가 및 압축 해제
    • CMD: 컨테이너가 시작될 때 실행할 명령어

예시: 간단한 Dockerfile

# Ubuntu 이미지에서 시작
FROM ubuntu:20.04

# 패키지 설치
RUN apt-get update && apt-get install -y curl

# 컨테이너가 실행할 명령어
CMD ["echo", "Hello, Docker!"]

'IT > Docker' 카테고리의 다른 글

Docker 기본 명령어  (0) 2024.11.18
Docker  (0) 2024.11.18