본문 바로가기

개발 관련/Docker

도커란? (+ MacOS 도커 설치하기)

💡 도커란?

도커란, 데이터 또는 프로그램을 격리시키는 기능을 제공하는 소프트웨어라고 한다. 주로 서버에 사용되는데, 다양한 프로그램과 데이터를 각각 독립된 환경에 격리하는 기능을 제공한다.

프로그램을 실제로 설치하게 되면 오류를 일으키는데, 문제 대부분의 원인은 프로그램 간 공유에 있다. 도커 컨테이너를 사용해 프로그램을 격리하면 여러 프로그램이 한 서버에서 실행되면서 발생하는 문제를 대부분 해결할 수 있다.

 

 

도커 엔진(Docker engine)을 설치해야 컨테이너를 만들 수 있고, 이 컨테이너를 다루는 기능을 제공하는 소프트웨어가 도커(docker)다.

컨테이너를 만들려면 도커 엔진 이외에도 컨테이너의 빵틀과도 같은 역할을 할 이미지가 필요하다. 이미지는 담고 있는 소프트웨어 종류에 따라 다양한 이미지를 사용한다. 즉, 이미지는 컨테이너를 만드는 데 사용할 뿐이고, 이미지를 그대로 사용하는 일은 없으며 우리가 실제로 사용하는 것은 컨테이너다. (더불어 이미지로만 컨테이너를 만들 수 있는 것이 아니라 컨테이너로도 이미지를 만들 수 있다. 이미지는 도커 허브에서 구할 수 있다.) 컨테이너는 용량이 허락하는 한 하나의 도커에서 여러 개를 만들 수 있다.

 

 

도커 사용 시, 종류와 상관없이 리눅스 운영체제가 필요하다. 도커가 리눅스 운영체제에서 사용하는 것을 전제로 만들어졌기 때문이다. 때문에 컨테이너에서 동작시킬 프로그램도 리눅스용 프로그램이다. 때문에 VirtualBox나 VMware 같은 가상 환경 위에 리눅스 운영체제를 설치하고 그 위에 도커를 실행하거나, 윈도우/macOS용 도커 데스크톱처럼 도커를 실행하는데 필요한 리눅스 운영체제를 포함하는 패키지를 설치해 사용한다. 

 

참고로 도커 엔진을 다룰 때는 마우스 조작이 아닌 CLI(Command Line Interface)로 명령행 인터페이스다.

 


💡안전한 컨테이너 이미지를 고르는 법

  • 공식 이미지 사용하기 - 선택 용이, 보안 보장. 운영체제 및 버전 확인 
  • 커스텀 이미지 직접 만들어 사용

💡도커의 장단점

✔️ 장점

  • 독립된 환경 - 여러 개의 컨테이너 생성 가능, 똑같은 애플리케이션 실행 가능, 교체 및 수정 가능
  • 이미지 생성 - 이미지 생성 후 만든 이미지를 도커 허브에서 배포 가능. 생성 대신 다운로드하여 사용 가능
  • 컨테이너에 커널을 포함시킬 필요 없음 - 가벼움, 배포판도 원하는 것을 사용할 수 있음
    • 한 대의 물리 서버에 여러 대의 서버를 띄울 수 있음 - 물리 서버의 운영체제에 의존
    • 서버 관리가 용이
  • 서버 고수가 아니어도 다루기 쉬움

 

✔️ 단점

  • 리눅스용 소프트웨어만 지원 - 리눅스 운영체제를 사용하는 기술이기 때문
  • 호스트 서버에 문제 발생 시 모든 컨테이너에 영향 - 물리 서버 한 대에 여러 대의 서버를 띄우기 때문
  • 컨테이너 장기간 사용 시 장점 못느낌

💡도커의 사용 이유

  • 팀원 모두에게 동일한 개발환경 제공 - 동일한 환경을 여러 개 만들 수 있다는 점을 이용해 프로젝트별 컨테이너를 따로 사용 가능. 
  • 새로운 버전의 테스트 - 격리된 환경을 이용해 새로운 버전에서 테스트 가능
  • 동일한 서버가 여러 대 필요한 경우 사용 - 컨테이너 밖과 독립된 성질을 이용하여, 동일한 서버가 여러 대 필요할 때 컨테이너를 이용해 한 대의 물리 서버에 똑같은 서버를 여러 개 만들 수 있음 → 관리 간편, 물리 서버를 여러 개의 컨테이너가 공유함

 💡도커 설치하기

도커는 리눅스 환경을 기반으로 생성되었다고 했다. 때문에 윈도우나 macOS에서 도커를 사용하고 싶다면, VirtualBox나 VMware같은 가상화 소프트웨어에서 만든 가상 머신을 이용해 리눅스 환경을 구축하거나, 윈도우용/macOS용 도커를 사용해 윈도우 및 macOS 환경에서 도커를 사용할 수 있다.

즉, 정리해보면 도커 환경을 구축할 수 있는 방법은 세 가지가 있다.

  • 리눅스 컴퓨터에서 도커 사용하기
  • 가상 머신이나 렌탈 환경에 도커를 설치하기 - 사용자가 명시적으로 가상화 소프트웨어를 설치하고, 그 위에 리눅스 운영체제를 설치한 후 거기에 도커 엔진을 설치하는 방법(VirtualBox나 VMware같은 SW 설치)
  • 윈도우용/macOS용 도커 사용하기 - 이 경우, 리눅스 운영체제 등의 실행환경이 추가로 필요해 '도커 데스크톱'이 같이 설치(윈도우용 도커 데스크톱 - Hyper-V, macOS용 도커 데스크톱 - HyperKit 가상화 기술 사용)

 

다음은 도커를 실행하기 위한 조건이다.

  • 64비트 운영체제 (윈도우 10 64비트 홈 에디션인 경우, WSL2 사용)
  • 윈도우인 경우, Hyper-V 및 Containers가 활성화되어야 함
  • 메모리 - 4GB 이상

 

맥을 사용하고 있기 때문에, 맥용 도커 설치 방법 위주로 설명하겠다.

다음 사이트에 접속해 macOS용 도커 데스크톱을 다운로드 받는다.

https://docs.docker.com/desktop/mac/install/

 

Install Docker Desktop on Mac

 

docs.docker.com

 

M1칩이기 때문에 다음을 클릭했다.

 

그리고 docker를 실행했다.

[열기]를 눌러준다.

 

관리자 권한 부여에 관한 창이 뜬다. [OK]를 눌러준다.

 

상단 상태바에 잘 추가되었다.