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 |