Docker : 기본 개념과 컨테이너 실행

dakcoh·2024년 9월 17일
post-thumbnail

1. Docker란 무엇인가?

이번 게시글에서는 유명한 컨테이너 도구 docker 에 대해서 공부해보겠습니다.

Docker애플리케이션을 쉽고 효율적으로 실행하고 배포할 수 있도록 도와주는 도구입니다.
쉽게 말하면, "프로그램을 실행하는 작은 상자"라고 생각할 수 있습니다.

이 상자 안에는 프로그램 실행에 필요한 모든 파일과 환경이 포함되어 있어서, 어디서 실행해도 문제가 없습니다.


2. 왜 Docker를 사용해야 할까?

* 환경 차이 문제 해결

예를 들어, 개발자가 만든 프로그램은 잘 작동하지만, 다른 컴퓨터에서는 작동하지 않는 경우가 많습니다.

이는 컴퓨터마다 설치된 환경(운영체제, 라이브러리 등)이 다르기 때문입니다.

Docker를 사용하면 프로그램과 환경을 포장해서 어디서든 똑같이 실행되도록 만들 수 있습니다.

* 빠르고 간편한 배포

복잡한 설치 과정 없이, Docker 이미지를 사용해 한 번에 실행할 수 있습니다.


3. 컨테이너와 가상머신의 차이점

컨테이너가상머신(VM)
- 운영체제를 공유하며 가볍고 빠름- 각자 운영체제를 포함해 무겁고 느림
- 필요한 애플리케이션만 독립적으로 실행- 완전한 OS를 포함해 실행
- 리소스 사용량이 적음- 리소스 사용량이 많음

컨테이너는 꼭 필요한 부분만 독립적으로 실행하기 때문에, 가볍고 빠르다는 점이 큰 장점입니다.


4. Docker의 주요 구성 요소

Docker는 세 가지 주요 구성 요소로 이루어져 있습니다.

1. 이미지(Image)

  • 프로그램과 환경이 담긴 설계도입니다.
  • 이미지를 사용해서 컨테이너를 만듭니다.

2. 컨테이너(Container)

  • 이미지를 기반으로 실행되는 실제 프로그램입니다.

3. Docker Hub

  • 전 세계 사람들이 이미지를 공유하는 저장소입니다.

5. Docker 설치 방법

Windows, Mac, Linux에 설치하는 방법

  1. Docker 공식 웹사이트에 접속
  2. Download Docker Desktop으로 운영체제에 맞게 다운로드
  3. 설치 과정을 따라 Docker를 설치
  4. 설치가 끝난 후, 터미널(명령 프롬프트)에서 아래 명령어로 Docker가 설치되었는지 확인합니다.

1) 아래 명령어를 입력

docker --version

출력 예)

Docker version 24.x.x, build abcdefg

6. 첫 번째 Docker 컨테이너 실행: Hello World!

Docker 설치가 끝났다면, 첫 번째 컨테이너를 실행해봅시다.
Hello World라는 간단한 메시지를 출력하는 컨테이너를 실행할 겁니다.

1) 아래 명령어를 입력

docker run hello-world

2) 결과를 확인
명령어를 입력하면 Docker가 Hello World 이미지를 다운로드하고, 컨테이너를 실행해서 메시지를 출력합니다.

Hello from Docker!
This message shows that your installation appears to be working correctly.
...

7. Docker의 주요 명령어

자주 사용하게될 기본적인 명령어들만 작성 했습니다.

  • 컨테이너 실행
docker run [이미지 이름]

예) docker run hello-world

  • 실행 중인 컨테이너 확인
docker ps
  • 중지된 컨테이너 포함 모든 컨테이너 확인
docker ps -a
  • 컨테이너 중지
docker stop [컨테이너 ID 또는 이름] # 해당 컨테이너 종료(작업 마무리 후 종료)
docker kill [컨테이너 ID 또는 이름] # 해당 컨테이너 강제 종료(강제 종료)
  • 컨테이너 삭제
docker rm [컨테이너 ID 또는 이름]
  • 불필요한 리소스 정리
docker system prune -a
  • 컨테이너 내부 접근
docker exec -it [컨테이너 ID] /bin/bash

8. 마무리

Docker는 초반에는 조금 낯설 수 있지만, 일단 사용법을 익히면 정말 유용한 도구입니다.
오늘은 Docker가 무엇인지 공부하고 컨테이너 실행까지 진행해봤습니다.

다음 글에서는 Docker 이미지컨테이너를 직접 만들어보는 실습을 진행할 예정입니다.
궁금한 점이나 잘 안 되는 부분이 있다면 댓글로 남겨주세요!

감사합니다.

다음글 > Docker : 이미지와 컨테이너화 실습

profile
포기하기 금지

0개의 댓글