Docker outside of Docker (DooD)
DinD의 아래 문제점을 해결하기 위해 DooD를 확인해 보았습니다, DooD는 호스트의 Docker 소켓을 게스트로 마운트 하여 게스트 continer에서 호스트에서의 docker install 환경을 이용하는 것으로 DinD와는 다른 형태의 테스트입니다.
- docker in docker (dind)의 가장 큰 문제점은 보안 측면에서의 호스트의 권한의 많은 부분을 사용할 수 있는도록 하는 privileged 옵션을 부여해야 하는 부분에 입니다.
- -privileged 옵션 설명
- Give extended privileges to this container
호스트의 docker 소켓을 마운트 하는 게스트 continer 생성 및 게스트 continer에서의 continer images 생성 및 dockerhub 업로드하는 부분까지 테스트를 해보도록 하겠습니다.
- Dockerfile source
- 일반적인 dind images 가 아닌, ubuntu 및 docker 이미지로도 가능하나 continer에서 docker 명령어 실행 시 docker 명령어를 찾지 못하여 빠른 테스트를 위해 기존에 테스트를 진행했던 dind images를 이용했습니다.
docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock --name=dood dind
dood console
docker ps -a
docker console
docker ps -a
dood console
docker commit dood moontaekwon/dood:1.0
docker images
dood console
docker login
docker push moontaekwon/dood:1.0
- docker 호스트의 docker 소켓을 공유함으로 docker 호스트의 이미지 및 컨테이너 접속 등을 모두 진행할 수 있었습니다. DinD 와는 또 다른 장점으로 생각됩니다.
'IT 이야기 > Open Source' 카테고리의 다른 글
Jenkins 작업등록 (0) | 2021.10.25 |
---|---|
docker in docker (DinD) (0) | 2021.10.16 |
Kubernetes(K8S) Meetup (0) | 2021.10.13 |
Kubernetes 기본 개념 (0) | 2021.10.12 |
Monitoring With AWS & On-premise (0) | 2021.10.09 |