반응형

본 내용은 인프런의 데브위키님의 강의 "개발자를 위한 쉬운 도커" 내용을 바탕으로 정리한 내용입니다.

 

docker 관련 기본 명령어


# Client, Server의 버전 및 상태 확인
docker version

# 플러그인, 현재 실행중인 시스템 상세 정보 확인
docker info

# 매뉴얼 확인
docker --help

# 대분류 - Management Command는 생략 가능
docker (Management Command) Command

# 소분류 - container는 생략 가능
docker container run

# 컨테이너 실행
docker run (실행옵션) 이미지명

# 컨테이너 삭제
docker rm 컨테이너명/ID

도커 컨테이너 실행 과정

  1. docker run 명령어를 실행하면, CLI가 해당 명령어를 도커 데몬에 전송하기 위해 API 요청으로 변환한다.
  2. 도커 데몬은 컨테이너 런타임을 통해 새로운 컨테이너를 생성하고 시작한다.
  3. 로컬호스트에서 웹 브라우저를 통해 접속하면, 실행 중인 컨테이너 내에서 호스팅되는 웹 페이지를 응답받을 수 있다.
  4. 이 컨테이너는 호스트 시스템과 격리되어 독립적으로 실행된다.

서버에서 프로그램을 실행하기 위해 필요한 3가지

  1. 애플리케이션을 실행하기 위한 기본 OS
  2. 프로그램을 실행하기 위한 구성 요소
  3. 실행시킬 프로그램

그림 1) 프로그램 실행 요소

도커를 사용하는 목적

  • 가상화 서버를 빠르고 가볍게 운영하기 위해 사용한다.

이미지란?

  • 특정 서버를 실행할 수 있는 상태를 저장한 압축 파일
  • 제작 단계부터 소프트웨어와 소프트웨어가 실행하기 위해 필요한 모든 구성 요소를 미리 준비해서 압축한다.
  • docker run 시 이미지를 다운 받아 격리된 공간에 컨테이너를 실행시킨다.
  • 이미지는 다른 구성 요소의 압축과 가상머신의 스냅샷보다 압축 파일의 사이즈가 작다.
  • 이미지는 다른 사람의 이미지를 다운 받을 수도 있고 제작할 수 도 있다.

그림 2) Nginx 이미지 실행 과정

프로그램과 프로세스

1. 프로그램이란?

  • 컴퓨터에서 실행될 수 있는 명령어들의 집합
  • 실행가능한 소프트 웨어
  • CPU나 리소스 같은 컴퓨터의 리소스를 차지 하지않고 오로지 스토리지의 디스크 공간만 사용하는 상태

2. 프로세스란

  • 실행 중인 프로그램(소프트웨어)
  • 프로그램 1 : N 프로세스 관계
  • 실행 시 CPU, MEM 등의 리소스 사용

이미지와 컨테이너

1. 이미지

  • 실행 가능한 소프트웨어와 실행에 필요한 환경설정등을 포함하는 템플릿
  • 디스크 공간 차지

2. 컨테이너

  • 실행 상태의 이미지
  • 이미지 1 : N 컨테이너 관계
  • 컨테이너 실행 시 CPU, MEM 등의 리소스 사용
  • 실행 시 이미지 복사해 격리된 디스크 공간 생성
  • 컨테이너 실행 시 프로세스도 함께 실행

도커 이미지 조회 명령어

# 도커 이미지 조회
docker image ls

# 도커 이미지 중 nginx만 조회
docker image ls nginx

 

그림 3) 컨테이너 실행, 조회, 삭제

도커 실행, 조회, 삭제 명령어

# 이름이 다른 3개의 컨테이너 실행 - id가 모두 다르다. 
docker run -d --name multinginx1 nginx 
docker run -d --name multinginx2 nginx 
docker run -d --name multinginx3 nginx 

# 실행 중인 컨테이너 리스트 조회 
docker ps

# 컨테이너 삭제 실행중인 컨테이너를 삭제하려면 -f 명령어를 사용
docker rm -f multinginx1 multinginx2 multinginx3
반응형

'Docker' 카테고리의 다른 글

[Docker] 이미지 레지스트리  (0) 2024.07.18
[Docker] 컨테이너의 라이프사이클  (0) 2024.07.18
[Docker] 메타데이터  (0) 2024.07.18
[Docker] 가상화 기술  (0) 2024.07.18
[Docker] Docker 실습 환경 세팅  (0) 2024.07.18

+ Recent posts