본문 바로가기

리눅스

[리눅스] Docker DinD와 DooD의 차이점

728x90

Docker DinD와 DooD의 차이점

Docker DinD(Docker-in-Docker)와 DooD(Docker-outside-of-Docker)는 Docker 컨테이너를 실행하는 데 사용되는 두 가지 다른 접근 방식입니다.

Docker DinD (Docker-in-Docker)

Docker DinD는 Docker 컨테이너 안에서 또 다른 Docker 데몬을 실행하는 방식입니다. 이는 한 컨테이너 내에서 Docker 명령어를 실행하고, 새로운 컨테이너를 생성하고, 이미지를 빌드하는 등의 작업을 수행할 수 있게 해줍니다. DinD를 사용하면 여러 개의 독립적인 Docker 환경을 가질 수 있으며, 각각의 독립성과 격리성을 유지할 수 있습니다.

 

출처-https://miro.medium.com/max/2400/0*nqmoi-2AuXW-hKXM.png

 

DooD (Docker-outside-of-Docker)

DooD는 Docker 호스트에서 Docker 컨테이너를 실행하는 방식입니다. 호스트 시스템의 Docker 데몬을 사용하여 컨테이너를 관리하고, 다른 컨테이너를 실행하고, 이미지를 빌드합니다. 호스트 시스템의 Docker 데몬을 공유하기 때문에 컨테이너 간에 리소스 공유와 네트워킹이 용이하며, 호스트 시스템과의 상호 작용이 간편합니다.

 

출처-https://miro.medium.com/max/2400/0*V1s7XXpVIcjeZXqv.png

 

주요한 차이점은 DinD가 Docker를 컨테이너 내에서 실행하는 반면, DooD는 Docker를 호스트 시스템에서 실행한다는 것입니다. DinD는 보다 격리된 환경과 독립적인 Docker 환경을 필요로 하는 경우에 유용할 수 있으며, 테스트나 개발 환경에서 자주 사용됩니다. DooD는 호스트 시스템의 리소스와 환경을 활용해 Docker를 실행하기 때문에, 프로덕션 환경에서 더 흔히 사용됩니다.

 

어떤 접근 방식을 선택할지는 사용자의 요구 사항과 사용 시나리오에 따라 다를 수 있습니다.

 

참고URL

- https://ctalledo.medium.com/secure-docker-in-docker-with-nestybox-529c5c419582

 

728x90