작성
·
339
0
안녕하세요
이전까지는 무리없이 실습 잘 실행하고 있습니다.
제가 현 강의로 도커를 처음 접해봐서 지금 하는 질문이 너무 초보적일지도 모르겠네요 ㅠㅠ
섹션3의 실습6을 진행중인데요,
현재 도커에
jenkins-server, ansible-server, docker-server 가 아래와 같이 돌아가고 있구요
도커서버에 접속하여
ssh root@localhost -p 10022
내부에서 docker ps -a 를 하면
강사님처럼 컨테이너와 이미지가 하나도 안떠있는 깨끗한 상태가 아닌
위와 같이 세개의 서버가 돌아가고 있다고 나옵니다 ㅠㅠ
그렇다고 해당 도커서버에서 stop 을 하거나 rm을 진행하면 아예 10022 도 없어져 버리고..
제가 무얼 잘못이해하고 있을까요?
답변 1
0
안녕하세요, 이도원입니다.
실습에서 Docker를 기동하는 방법에 DinD방시과 DooD 방식으로 실행하여 진행하고 있습니다.
DinD방식은 Docker in Docker 방식이라서 실행하신 docker-server 컨테이너 내부에 별도의 Docker engine을 따로 기동하여 실행하는 방식이기 때문에, docker-server에서 기동하는 컨테이너들은 처음에는 아무것도 없을 것이고, 이후에 생성되는 컨테이너들을 삭제해도, Host PC의 Docker에는 영향을 미치지 않습니다. 두번째로 DooD 방식은 Docker out of Docker 방식이라고 해서, Host PC의 Docker engine을 docker-server에서 같이 사용하는 개념이기 때문에, docker-server에서 기동하는 컨테이너 정보는 Host PC의 Docker에도 그대로 반영됩니다. 즉, 같은 Docker를 사용하는 거라 보시면 될 것 같습니다. 따라서 처음 docker-server 시 3개의 컨테이너가 기동되어 있고, 그 중 일부(예를 들어 docker-server)의 컨테이너를 삭제하였을 때, 해당 컨테이너가 Host PC에서도 같이 삭제되어 버립니다. DooD 방식으로 사용하실 때에는, Host PC에 기동되어 있는 컨테이너들의 정보와 충돌되지 않도록 포트 사용 등을 주의하셔야 합니다. 강의 초반에는 DinD 방식으로 docker-server를 사용하도록 했는데, 일부 수강생분들이 DinD 방식으로 진행이 안되신다고 하여, DooD 방식도 안내해 드렸습니다. 아마도, DooD 방식으로 기동해 위와 같은 문제가 생긴 것 같습니다.
감사합니다.