Docker
도커(Docker)는 컨테이너 기반의 가상화 플랫폼으로 이를 통해 소프트웨어를 패키징하고, 배포하며, 실행할 수 있다. 도커를 사용하면 애플리케이션을 독립적인 환경인 컨테이너에 담아 필요한 모든 라이브러리, 종속성, 설정 등을 포함하여 이식성이 높은 환경을 만들 수 있고, 이를 통해 개발 환경과 프로덕션 환경 간의 일관성을 유지하며 애플리케이션을 빠르게 배포하고 확장할 수 있다.
1. 도커가 필요한 이유
- 기존 개발 및 배포
- 환경 일관성 부족 : 개발자가 개발한 애플리케이션을 다른 환경에서 실행할 때 문제가 발생할 수 있다. 개발 환경과 운영 환경이 다르면 예상치 못한 버그가 발생할 확률이 높다.
- 의존성 충돌 : 애플리케이션을 실행하기 위해 필요한 라이브러리나 소프트웨어 버전이 충돌하면 제대로 동작하지 않을 수 있다.
- 무겁고 복잡한 가상 머신 : 기존에는 가상 머신을 사용하여 애플리케이션을 패키징하고 실행했는데, 이는 자원 소비가 많고, 느리며, 관리하기 복잡한 단점이 있다. - 도커를 사용한 개발 및 배포
- 환경 일관성 확보 : 도커는 애플리케이션과 그 실행 환경을 컨테이너로 패키징 한다. 이 컨테이너에는 애플리케이션 실행에 필요한 모든 것이 포함되어 있으므로, 어디서든 동일하게 실행될 수 있다.
- 의존성 관리 : 도커는 각 애플리케이션의 종속성을 컨테이너에 포함시키기 때문에, 서로 다른 애플리케이션 간의 의존성 충돌 문제를 해결한다.
- 가볍고 빠른 실행 환경 : 도커 컨테이너는 가상 머신에 비해 가볍고 빠르게 실행된다. 이는 자원을 효율적으로 활용하면서도 더 빠른 배포 및 실행을 가능케 한다.
- 확장성과 유연성 : 도커를 사용하면 필요에 따라 애플리케이션을 쉽게 확장하고 업데이트할 수 있다. 또한, 다양한 환경에서 동일한 방식으로 실행할 수 있어서 클라우드 환경에서의 배포도 용이하다.
2. 운영체제
다양한 운영체지 (MacOS, Window, Linux)에서 사용 가능하지만, 도커는 리눅스 커널을 사용하기 때문에 윈도우에서는 하이퍼바이저를 사용해 가상머신을 사용하기 때문에 부하가 심할 수 있다. 물론 최근에는 Docker Desktop for Windows같은 도커 최신버전 리눅스 커널을 윈도우 시스템에 네이티브하게 통합시켜 이전보다는 훨씬 효율적이고 성능이 좋아졌지만 일부 기능에서는 성능 차이가 발생할 수 있어 리눅스에서 사용하길 추천한다.
3. 설치 방법
3-1) 가상머신 설치
공부를 목적으로 사용할 경우 하나의 컴퓨터에서 여러 서버로 테스트를 하기위해 리눅스 기반(Ubuntu)의 가상머신 UTM을 설치한다.
2024.02.23 - [기타] - MAC 가상머신 UTM 설치 방법
3-2) 도커 설치
// Ubuntu에서 도커 설치 명령어
apt install docker.io
반응형
'DevOps > Docker, K8s' 카테고리의 다른 글
[Docker] 주피터(Jupyter) LAB 서비스 구축 (0) | 2024.03.13 |
---|---|
[Docker] 볼륨 마운트(Volume Mount) 사용해 로컬 파일 공유 방법 (0) | 2024.03.12 |
[Docker] MySQL 서비스 구축 방법 (0) | 2024.03.11 |
[Docker] 도커 컨테이너 유용한 명령어 모음 (0) | 2024.03.10 |
[Docker] Image 다운로드 및 컨테이너 생성 방법 (0) | 2024.03.03 |