Docker란? (도커의 아키텍처)

원본 게시물입니다!!!!!

아래의 명령어를 실행하면 무슨 일이 일어날까?

docker run nginx

이 명령어를 실행하기 전에 간단히 용어를 정의하자

도커는 클라이언트로서의 도커(도커 클라이언트), 서버로서의 도커로 나뉜다.

도커의 핵심인 도커 엔진도커 클라이언트(Cli 명령어 도구)도커 데몬을 포함하고 있다.

컨테이너를 생성하고 실행하며 이미지를 관리하는 주제는 서버도커이다.

도커 데몬이 서버로 떠 있고 도커 클라이언트가 명령어를 보내면 도커 데몬에서 실제 동작이 이루어진다.

docker run 명령어 또한 마찬가지다. "docker run"이라는 명령어를 도커 클라이언트가 도커 데몬으로 전달하면 도커 데몬이 명령어를 해석해 이미지를 다운 받고 컨테이너가 실행된다.


docker run nginx

설치는 이곳을 참고했다. (CentOS 환경)

https://velog.velcdn.com/images/yeongori/post/5e72d60c-e1cb-49f7-b29b-b0ab21d8b89e/image.png

우선 로컬(기본 저장소인 /var/lib/docker/image)에서 nginx라는 서버 이미지가 있는지 찾는다.

도커 이미지는 layer 아키텍처를 갖고 있기 때문에 위의 저장소에 가도 찾기 어려울 것이다.

현재 nginx 이미지를 지워둔 상태라 캡처이미지 상단에 다음과 같이 뜬다.

Unable to fine image 'nginx:latest' locally latest: Pulling from library/nginx

현재 로컬에 nginx이미지가 존재하지 않기에 도커 데몬은 설정 되어 있는 외부 도커 이미지 저장소(디폴트: DockerHub)에서 찾는다. AWS에서는 ECR