장점
실행속도가 빠르다. OS를 실행하지 않고도 모든 프로세스에 대한 컨테이너를 실행할수있기 때문에 실행속도가 빠르다.
안전하다. container들끼리는 분리되어있기때문에 보안상 이점이있다.
실행환경 구성이 빠르고 간단하다. 프로젝트 개발 및 실행환경을 강제화 가능
비용절감 효과 컨테이너의 크기가 매우 작고, 하나의 물리적 서버에 다수의 컨테이너를 가동시킬 수 있음.
단점
Docker는 플랫폼 의존적이다. Docker는 실제로 Windows와 Mac에서는 linux 가상머신위에서 동작한다. 결국 Docker는 linux에서만 실행가능하다.
Docker는 bare-metal방식보다 느리다. 도커가 기존의 가상화방식(이미 OS가 설치된 하드웨어 위에 Hypervisor OS를 설치하는 경우)보다 overhead가 적긴하지만, 여전히 bare-metal 방식의 속도에 비하면 느리다.
Docker위에서 GUI 앱을 돌리기가 불편하다. 도커는 command line에서 동작하는 앱을 호스팅하기 위해 디자인되었다. 도커 컨테이너 내에서 GUI앱을 실행하는 것은 가능하지만(X11 forwarding을 이용) 불편하다.
출처
https://smileted.net/docker-pros-cons/
https://data-flair.training/blogs/advantages-and-disadvantages-of-docker/