[Docker] Image and Container

·2024년 1월 18일

Start Docker!

목록 보기
3/9

Image란?

  • 필요한 서버 프로그램, 소스코드 및 라이브러리, 컴파일 된 실행 파일을 묶는 형태
  • 읽기/쓰기 액세스 권한이 있는 인스턴스를 실행하는 컨테이너의 “블루프린트”
  • 이미지는 빌드하면 그 시점의 코드가 유지됨 / 읽기 전용!
  • 즉, 코드의 수정이 있다면 빌드를 다시 해야 함
  • Image는 name:tag로 구성(node:14)
  • 이미지를 공유하여 사용한다!

Image는 캐시를 사용해서 빌드!

  • 레이어(Step)을 기반으로 빌드한다.
  • 변경사항이 있는 레이어부터 모든 레이어를 다시 빌드한다.
  • 따라서, COPY package.json / RUN npm install을 먼저 작성하는게 효율이 좋음 ⇒ 빌드시간 감소

Container란?

  • 실행중인 이미지 한개의 이미지로 여러개의 Container를 만들 수 있음
  • 각각 독립적이기 때문에 로컬환경이랑 포트를 공유하지 않는다!

사용법

# 이미지 가져오기
docker pull [node]

# 이미지 실행
docker run [node]

# 모든 도커 이미지 출력
docker ps -a

# -it: 내부 호스팅 머신 / 대화형 세션
docker run -it node

Docker Hub

  • 만들어진 이미지를 공유하는 곳
  • 수 많은 공식이미지가 존재
  • 내가 만든 이미지를 공유할 수 있음
    Docker Hub

0개의 댓글