DOCKER

Docker 간단하게 알아보기

jki09871 2024. 10. 7. 20:55

Docker란?

Docker는 프로그램을 쉽게 실행할 수 있도록 도와주는 도구이다. 여러 프로그램을 실행할 때 필요한 파일과 환경 설정을 한 곳에 모아, 다른 컴퓨터에서도 똑같이 실행될 수 있게 한다. 프로그램을 실행하는데 필요한 환경을 일일이 맞출 필요 없이, Docker를 사용하면 간편하게 해결할 수 있다.

예시:

게임을 만들었는데, 다른 사람의 컴퓨터에서 실행했을 때 잘 안 된다면 Docker를 사용하면 문제 없이 실행할 수 있게 된다.


Docker 이미지란?

Docker 이미지란 프로그램을 실행하는데 필요한 모든 파일과 설정을 포함한 일종의 패키지이다. 이 이미지를 통해 프로그램을 언제 어디서나 동일한 환경에서 실행할 수 있게 한다. 이미지에는 코드, 라이브러리, 실행 환경 등이 모두 포함되어 있다.

예시:

게임을 다른 컴퓨터에서 실행하기 위해 필요한 파일들을 전부 하나의 상자에 담은 것이라고 보면 된다. 이 상자가 바로 Docker 이미지이다.


Docker 컨테이너란?

Docker 컨테이너는 Docker 이미지를 실행하는 실제 공간이다. 이미지를 통해 컨테이너를 만들고, 그 컨테이너 안에서 프로그램이 돌아가게 된다. 컨테이너는 서로 독립적으로 실행되기 때문에, 하나의 컴퓨터에서 여러 개의 프로그램을 동시에 실행해도 서로 간섭하지 않는다.

예시:

컨테이너는 독립된 작은 방이라고 생각하면 된다. 각 방에서 다른 프로그램이 실행되지만, 각 방은 서로 영향을 주지 않는다.


Dockerfile이란?

Dockerfile은 Docker 이미지를 만들 때 어떻게 만들 것인지를 적어둔 설계도 같은 파일이다. 이 파일에 어떤 파일을 넣고, 어떤 명령을 실행할지 등을 미리 적어 두면, Docker가 그에 맞춰 이미지를 만들어 준다.

예시:

건축 설계도를 그린다고 생각하면 된다. 어떤 재료를 쓰고, 어떻게 건물을 지을지를 미리 적어두는 파일이다.


docker-compose란?

docker-compose는 여러 개의 컨테이너를 한꺼번에 실행할 수 있도록 자동화해 주는 도구이다. 여러 컨테이너가 상호작용해야 할 때 간편하게 설정하고 실행할 수 있다. 주로 여러 프로그램이 협력해서 동작해야 할 때 유용하다.

예시:

여러 개의 퍼즐 조각을 한꺼번에 맞추는 도구라고 생각하면 된다. 각 퍼즐 조각이 서로 연결되어 잘 맞물리도록 해주는 역할이다.


컨테이너 오케스트레이션이란?

컨테이너 오케스트레이션은 여러 개의 컨테이너를 효율적으로 관리하고, 어디서 어떻게 실행할지 조정하는 것이다. 이를 통해 서버 자원을 최적화하고, 여러 컨테이너가 효율적으로 배포될 수 있도록 한다. 이 작업을 자동으로 해주는 도구들이 있는데, 그 중 하나가 Kubernetes이다.

예시:

많은 자동차가 동시에 달릴 때 교통 신호등을 통해 조정하는 것과 같다. 여러 컨테이너가 효율적으로 실행되도록 신호를 보내는 역할이다.


도커 볼륨이란?

도커 볼륨은 컨테이너가 실행되는 동안 데이터를 저장하거나, 여러 컨테이너 사이에서 데이터를 공유할 때 사용하는 공간이다. 컨테이너는 보통 일시적인 공간이기 때문에, 컨테이너가 종료되면 데이터도 사라진다. 하지만 볼륨을 사용하면 데이터를 안전하게 보관할 수 있다.

예시:

컨테이너 안에 있는 자료들을 외부의 USB에 저장한다고 생각하면 된다. USB는 컨테이너가 종료되어도 데이터를 계속 보관해준다.


이렇게 Docker의 기본 개념을 쉽게 설명할 수 있다. 각 개념에 대해 예시를 통해 좀 더 직관적으로 이해할 수 있을 것이다.