목표
•
컨테이너에서 다른 컨테이너에 명령어를 내리고싶다
•
즉, 컨테이너에서 호스트 도커에 연결하고싶다.
해결 1
•
도커를 설치하고 소켓을 연결해버린다.
docker run -it -v /var/run/docker.sock:/var/run/docker.sock docker
JSON
복사
•
도커 설치도 귀찮으니까 그냥 바이너리 파일도 복사해버린다.
docker run -it -v $(which docker):/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock ubuntu
JSON
복사
해결 2
•
이론상으로는 컨테이너에서 호스트 도커 api를 이용해서 명령 내릴수있다.
•
물론 호스트의 80포트가 열려있어야한다
•
그냥 bash명령어로는 힘들고 프로그래밍 언어가 따로 필요하다.
단점
•
호스트의 컨테이너와 이름이 겹칠수있다.
•
컨테이너에서 호스트 도커를 마음껏 쓸수있어서 보안에 취약하다.
•
그나마 dind 보다는 안전한 방법