독립된 환경
독립된 환경으로 여러 개의 컨테이너를 띄울 수 있으며 똑같은 애플리케이션도 여러 개 띄울 수 있고 그 중 일부를 교체하거나 수정할 수도 있다.
이미지를 만들 수 있다.
이미지를 만들 수 있으며, 도커 허브에서 배포할 수 있다. 따라서 모든 이미지를 처음부터 만들이 않고 내려 받기만 하면 컨테이너를 사용할 수 있다. 교체가 쉽고 업데이트 또한 쉽다.
똑같은 컨테이너를 쉽게 만들 수 있어 환경 이동이나 개발환격을 구축하는데 쉬워 이동이 편리하다.
컨테이너에 커널을 포함시킬 필요가 없다.
컨테이너에는 커널을 포함시킬 필요가 없으므로 가볍다. 배포판도 원하는 것을 사용할 수 있다.
도커의 장점
1. 한 대의 물리 서버에 여러 대의 서버를 띄울 수 있다.
도커는 격리된 환경을 제공하므로 이들이 각각 안전한 상태로 실행되며, 일반적인 서버에서는 함께 실행할 수 없는 조합(같은 소프트웨어를 실행하는)도 가능하다. 또 컨테이너에는 커널이 포함되지 않으므로 물리 서버의 운영체제에 의존한다. 이러한 이유로 소프트웨어적으로 하드웨어를 재현하는 가상화 기술에 비하면 압도적으로 가볍다.
2. 서버 관리가 용이하다.
컨테이너를 이용해 각 소프트웨어를 독립된 환경에 격리하므로 다른 소프트웨어에 영향을 끼치지 않는다. 업데이트도 그 만큼 간단하다. 항상 최신 소프트웨어를 유지하기 쉬운 구조가 된다.
컨테이너 교체나 수정이 쉬우므로 환경 이전도 간단하다. 생성 및 폐기가 간단하므로 초기 설정에 따르는 시간과 수고를 들일 필요가 없다. 컨테이너를 수정했다면 이 컨테이너에서 이미지를 만들고 다시 이 이미지로 컨테이너를 대량으로 생성할 수도 있다.
3.서버 고수가 아니어도 다루기 쉽다.
명령 한 줄로 서버 구축이 끝나므로 터미널에 명령을 입력해야 한다는 것 외에는 장애물이 없다. 서버에 대해 잘 모르는 초보자라도 명령어만 익히면 컨테이너를 사용할 수 있다.
도커의 단점
1.리눅스용 소프트웨어 밖에 지원하지 않는다.
리눅스를 사용하는 기술이므로 리눅스용 소프트웨어밖에 지원하지 않는다.
2.호스트 서버에 문제가 생기면 모든 컨테이너에 영향이 미친다.
물리 서버 한 대에 여러 대의 서버를 띄우는 형태이므로 호스트 서버에 문제가 생기면 모든 컨테이너에 영향이 미친다. 이 점은 가상화 기술이나 여러 명의 사용자가 서버를 공유하는 렌탈 서버, 렌탈 클라우드 등의 가상화 플랫폼에도 마찬가지지만 하나의 물리 서버에 하나의 기능을 띄우는 상태와 비교하면 물리 서버에 문제가 생겼을 때 영향이 미치는 범위가 커진다. 그만큼 물리 서버의 이상에 대해 확실히 대책을 세워야 한다.
3.컨테이너 하나를 장기간에 걸쳐 사용할 때는 큰 장점을 느끼기 어렵다.
컨테이너를 여러 개 사용하는 형태를 가정하므로 컨테이너 하나를 장기간에 걸쳐 사용할 때는 장점을 느끼기 어렵다.
도커를 사용하려면 도커 엔진을 구동해야 하는데, 컨테이너를 하나밖에 사용하지 않는다면 도커 엔진이 단순한 오버헤드에 지나지 않기 때문이다.
도커의 주 용도
1. 팀원 모두에게 동일한 개발환경을 제공
팀원 모두에게 동일한 개발환경을 제공할 수 있어 편리하다.
컨테이너는 운영환경과 완전히 동일하게 생성되므로 개발환경과 운영환경의 차이가 근본적으로 사라진다.
하나의 개발 서버를 공동으로 사용하면 수정으로 인한 경합이 발생할 수 있지만 이런 형태에서는 로컬에서 개발을 마치고 적절한 때에 적용하면 되므로 팀 내에서 조정하면 된다.
2. 새로운 버전의 테스트
운영체제나 라이브러리 등의 새로운 버전을 먼저 개발환경에서 테스트한 후 운영환경에 적용할 때도 컨테이너를 활용할 수 있다. 컨테이너 형태를 유지하는 한 도커 엔진이 구동을 보장해 주므로 물리 서버와의 상성은 고려하지 않아도 된다. 새로운 버전뿐만 아니라 변경된 환경에 대한 테스트에도 유용하다.
3. 동일한 서버가 여러 대 필요한 경우
동일한 서버가 여러 대 필요한 경우에도 컨테이너를 이용해 한 대의 물리 서버에 똑같은 서버를 여러 개 만들 수 있다. 이렇게 하면 관리도 간편하고 물리 서버를 여러 개의 컨테이너가 공유하므로 비용도 절약할 수 있다.
명령 한 줄이면 서버를 필요한 만큼 띄울 수 있으므로 운영체제를 설치하고, 로그인한 다음 소프트웨어를 설치하는 단순 업무를 반복할 필요가 없다. 소프트웨어까지 하나로 묶은 패키지를 사용하면 더욱 편리하다.
'잡다한 공부 > Cloud' 카테고리의 다른 글
3. AWS 부하분산 서비스 (1) | 2024.12.18 |
---|---|
[도커&쿠버네티스]5.기본적인 도커 명령어 (1) | 2023.12.11 |
[도커&쿠버네티스] 3.도커의 동작원리 (1) | 2023.12.04 |
[도커&쿠버네티스] 2.서버와 도커 (1) | 2023.11.20 |
[도커&쿠버네티스] 1.도커란 무엇인가? (1) | 2023.11.20 |
댓글