도커의 핵심 개념 및 설치, 실행하기
도커란?
- 도커(Docker)는 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 컨테이너로 실행하고 관리하는 오픈 소스 프로젝트이다.[wikipidia]
- 도커(Docker)는 컨테이너 기반의 오픈소스 가상화 플랫폼이다. 가상화와 관련된 개념 중 하나인
컨테이너
를 사용하여 응용 프로그램과 그에 필요한 환경을 한 곳에 패키징하며, 이렇게 만들어진 컨테이너는 다양한 환경에서 동일하게 실행될 수 있다.
도커의 핵심 개념 및 특징
컨테이너: 도커의 주요 기능. 컨테이너는 애플리케이션과 그것을 실행하는 데 필요한 모든 것(라이브러리, 시스템 도구, 코드, 런타임 등)을 격리된 공간에서 프로세스가 동작하도록 패키징하는 기술이다. 기존의 가상화 방식은 OS를 가상화하는 방식이었다면, 컨테이너는 프로세스를 격리하는 방식이다. 이를 통해 여러 개의 컨테이너를 하나의 호스트에서 실행할 수 있고, 컨테이너를 이미지로 만들어 배포할 수도 있다.
이미지: 컨테이너를 실행하기 위한 템플릿으로 볼 수 있다. 도커 이미지는 컨테이너를 시작하는 데 필요한 바이너리, 라이브러리, 소스 코드 및 기타 파일들을 포함힌다. 또한, 도커 이미지는 환경을 구성하는 모든 것을 포함하고 있기 때문에, 도커 이미지를 사용하면 어디서든 동일한 환경에서 컨테이너를 실행할 수 있다.
도커파일: 애플리케이션과 환경 정의 등 도커 이미지를 만들기 위한 명령어들의 모아둔 스크립트이다. 이 스크립트는 도커 이미지를 빌드할 때 사용된다.
Docker Hub: 도커 이미지를 공유하는 클라우드 기반 저장소이다. 이곳에 자신의 이미지를 푸시하고 다른 사람들과 공유할 수 있으며, 다른 사람들이 공유한 이미지를 받아서 사용할 수도 있다.
포터블: 도커 컨테이너는 어디서나 동일하게 실행된다. 즉, 개발자의 로컬 기계에서 개발 및 테스트된 컨테이너는 운영 환경, 클라우드, 다른 개발자의 로컬 환경에서도 동일하게 실행된다.
경량성: 도커 컨테이너는 전통적인 가상화 방식(OS를 가상화하는 방식)에 비해 매우 가볍다. 전통적인 가상화는 각 애플리케이션마다 전체 OS를 가지고 있지만, 도커는 하나의 OS 인스턴스만을 사용하고, 각 컨테이너는 그 위에서 분리되어 실행된다.
도커를 사용하면 애플리케이션의 개발, 테스트, 배포 프로세스를 간소화하고, 응용 프로그램 배포의 일관성을 높일 수 있다. 그 결과, “내 컴퓨터에서는 작동하는데…“라는 문제로부터 벗어날 수 있게 된다.
도커 설치하기
도커 설치 도커 홈페이지의 Get Docker를 통해 도커를 설치한다.
- windows나 mac의 경우 docker desktop을 설치하면 된다.
- 설치 후 재부팅을 해야 할 수도 있다.
- windows의 경우 wsl kenel update를 요구하는 경우도 있다.
- 이 경우 cmd 혹은 PowerShell에서
wsl --update
를 입력한다.
- 이 경우 cmd 혹은 PowerShell에서
- 이 후 모든 명령은 따로 언급이 없다면 windows의 경우 cmd 혹은 PowerShell에서(반드시
관리 권한으로 실행
해야 한다.) mac이나 linux는 terminal에서 실행한다.
도커가 정상적으로 설치되었는지 확인 한다.
1
docker --version
- 버전이 출력되면 정상적으로 설치된 것이다.
도커에서 사용할 수 있는 이미지는 docker hub에서 확인이 가능하다.
- 가입을 안 해도 사용 가능
도커 실행 테스트
이 단계는 도거가 정상 동작하는지 테스트를 하기 위한 단계이니, 필요 없다면 생략해도 된다.