Docker

mjdevv·2024년 1월 30일
0

도커

목록 보기
2/2

도커의 전체적인 구조

아래 그림을 보자.

당연히 서버-클라이언트 구조로 되어 있다.

  1. Client가 bash를 통해 docker build/pull/run 등의 커맨드를 주면, 도커 데몬이 해당 커맨드를 실행해서 원격 registry 도커 허브에 있는 이미지 파일을 다운로드 받는다.
  2. 이미지 파일은 2차 저장소에 저장 되고
  3. docker create 명령어로 도커 컨테이너를 생성한 뒤
  4. docker start 명령어로 도커 컨테이너를 프로세스로 만들어 실행할 수 있다.

도커 이미지

도커 이미지는 특정 시점에서 어플리케이션과 어플리케이션의 종속성, 그리고 실행환경 전반을 snapshot으로 찍어 놓은 read only 묶음 파일이라고 보면 될 것 같다.

  • 어플리케이션을 패키징/전송 하기 위한 단위
  • 소스 코드, 라이브러리, 종속성, 도구 및 응용 프로그램을 실행하는데 필요한 기타 파일을 묶은 snapshot
  • read only

이미지는 여러 레이어로 구성될 수 있으며, 각 레이어들은 고유한 uuid 값을 가진다.

도커 컨테이너

도커 이미지로 부터 만들어진 실행 가능한 런타임 환경으로, portable(이식가능) 단위가 된다. 컴퓨팅 환경의 표준화를 구현 했다고 하는데, 이건 low 단에 어떤 환경이 있더라도 어플리케이션이 구동 되게 하려는 java의 WORA 철학과도 어느 정도 맞물리는 부분이 있는 것 같다. 어떻게 보면 java 또한 hw에 종속적이지 않은 개발을 하기 위해 jvm을 만들었으니까.

그리고 컨테이너를 생성하면 도커 이미지 파일 위에 rw 레이어인 컨테이너 레이어가 생기며 프로세스로 구동 된다고 한다.

profile
방구석 언어기술자

0개의 댓글

관련 채용 정보