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 환경을 가질 수 있으며, 각각의 독립성과 격리성을 유지할 수 있습니다.
DooD (Docker-outside-of-Docker)
DooD는 Docker 호스트에서 Docker 컨테이너를 실행하는 방식입니다. 호스트 시스템의 Docker 데몬을 사용하여 컨테이너를 관리하고, 다른 컨테이너를 실행하고, 이미지를 빌드합니다. 호스트 시스템의 Docker 데몬을 공유하기 때문에 컨테이너 간에 리소스 공유와 네트워킹이 용이하며, 호스트 시스템과의 상호 작용이 간편합니다.
주요한 차이점은 DinD가 Docker를 컨테이너 내에서 실행하는 반면, DooD는 Docker를 호스트 시스템에서 실행한다는 것입니다. DinD는 보다 격리된 환경과 독립적인 Docker 환경을 필요로 하는 경우에 유용할 수 있으며, 테스트나 개발 환경에서 자주 사용됩니다. DooD는 호스트 시스템의 리소스와 환경을 활용해 Docker를 실행하기 때문에, 프로덕션 환경에서 더 흔히 사용됩니다.
어떤 접근 방식을 선택할지는 사용자의 요구 사항과 사용 시나리오에 따라 다를 수 있습니다.
참고URL
- https://ctalledo.medium.com/secure-docker-in-docker-with-nestybox-529c5c419582
'리눅스' 카테고리의 다른 글
CentOS 7에 libmcrypt를 설치하는 방법 (0) | 2022.01.07 |
---|---|
[리눅스] 무명1 (0) | 2021.12.30 |
[리눅스] Spring Boot(Gradle) 빌드 및 배포 구현(github, jenkins, dockerhub) (0) | 2021.12.28 |
[Spring Boot] 도커 이미지 빌드 및 도커 이미지 docker hub로 push (0) | 2021.12.27 |
[draft] Spring Boot 프로젝트를 도커 이미지로 빌드하고 도커 컨테이너로 실행하는 방법 (0) | 2021.12.27 |