Doker는 무엇인가?

박찬효·2022년 9월 9일
0

Doker 란?

  • Doker는 컨테이너 기반의 오픈 소스 가상화 플랫폼이다.

  • Doker를 통해 애플리케이션 실행 환경을 코드로 작성할 수 있다.

  • Doker를 통해 OS를 공유, 격리화 하여 관리할 수 있다.

container 란?

Doker는 코드를 실행하는 표준 방식을 제공하고, 컨테이너를 위한 운영 체제이다. 가상머신이 서버 하드웨어를 가상화하는 방식과 비슷 하게 컨테이너는 서버 운영 체제를 가상화 한다. 그리고 Doker는 각 서버에 설치되며 컨테이너를 구축, 시작 또는 중단하는데 사용할 수 있는 간단한 명령을 제공한다.

컨테이너는 격리된 공간에서 프로세스가 동작하는 기술이다. 가상화 기술의 하나지만 기존방식과는 차이가 있고 기존의 가상화 방식은 주로 OS를 가상화 하였다.


<출처>

Doker의 container 기술을 사용하면 OS레벨은 공유 하며 어플리케이션 레벨에서는 각가의 어플리케이션을 격리해서 실행 할 수 있다. 그래서 하나의 서버에 여러개의 컨테이너를 실행하면 서로 영향을 미치지 않고 독립적으로 실행 할 수 있다. CPU나 메모리 사용량을 제한할 수 있고 호스트의 특정 포트와 연결하거나 호스트의 특정 디렉토리를 내부 디렉토리인 것처럼 사용할 수도 있다.

image 란?

Doker에서 Image는 컨테이너를 정의하는 읽기 전용 템플릿이다. 컨테이너 실행에 필요한 파일과 설정값등을 포함하고 있는 것으로 상태값을 가지지 않고 변하지 않는다. 같은 이미지에서 여러개의 컨테이너를 생성 할 수 있고 컨테이너의 상태가 바뀌거나 컨테이너가 삭제되더라도 이미지는 변하지 않고 그대로 남아있다.

Doker 명령어

  • docker build .
    - 도커 빌드하는 명령어
  • docker images
    - 도커를 이미지로 담는것
  • docker ps
    - 도커의 현재 상태 확인
  • docker exec -it ID /bin/bash
    - 해당 도커 ID 안에 들어가는 명령어
  • exit
    - 도커 밖으로 나오는 명령어
  • doker stop ID
    -실행된 컴퓨터 끄기
  • doker ps -a
    - 꺼진 컴퓨터 보기
  • docker ps -a -q
    - 실행 된 아이디만 추출
  • docker rm docker ps -a -q
    -꺼진 컴퓨터 삭제
  • docker images -q
    - 이미지의 ID 추출
  • docker rmi docker images -q
    - 이미지 ID 모두 삭제
  • docker system prune -a
    - 초기화에 가까운 명령어 (사용할 때 주의해야함)

이 외에 많은 명령어가 있다. 참고

Doker의 장단점

👍 장점

  • 실행 속도가 빠르다.

  • container들끼리는 분리 되어있기 때문에 보안상 이점이 있다.

  • 실행환경 구성이 빠르고 간단하다.

  • container의 크기가 매우 작고, 하나의 물리적 서버에 다수의 컨테이너를 가동 시킬 수 있다.

👎 단점

  • 리눅스용 소프트웨어밖에 지원하지 않는다.

  • 호스트 서버 문제가 생기면 모든 컨테이너에 영향을 미친다.

  • 프로그램을 여러 개 운영 하는 것이 아니라 하나만 운영할 경우 오히려 오버헤드가 커질 수 있다.

profile
개발자가 되기 위한 1인

0개의 댓글