Docker 1주차 복습

ay.zip·2022년 5월 22일
0

docker

목록 보기
2/2
post-thumbnail

✅ 포스트 목차 ✅

  1. 도커 (+ 도커 설치하기 )
  2. Dockerfile 작성법

모든 것은 macOS 기준


도커 설치하기

https://www.docker.com/get-started/

developers -> getting started -> docker desktop


도커+컨테이너+이미지

🐳 도커는 컨테이너 기술이고, 이는 컨테이너들을 만들고 관리하는 툴이다.

🐳 컨테이너는 소프트웨어의 표준화된 유닛이다.
컨테이너를 사용하면 다른 환경에서도 소프트웨어를 작동시킬 수 있다.
컨테이너를 사용하였을 때의 장점은

  • OS에 영향이 적게 가고, 매우 빠르며 최소한의 디스크를 사용할 수 있다.
  • 공유, 재건축, 그리고 배포가 쉽다.
  • 전체의 머신을 공유하기 보다는 어플리케이션과 환경을 캡슐화한다.

🐳 이미지는 컨테이너의 blueprint이다. 코드와 런타임을 포함한다.

정리하자면,

  • 이미지는 읽기/쓰기 엑세스 권한이 있는 인스턴스를 실행하는 컨테이너의 블루프린트
  • 이미지와 컨테이너가 분리되어 있기에, 여러 컨테이너가 서로 간섭하지 않고 동일한 이미지를 기반으로 움직일 수 있다.
  • 컨테이너는 이미지를 기반으로 하는 소프트웨어 유닛이고, 이미지의 실행 중인 인스턴스
  • 이미지의 Context에서 레이어 : 이미지의 모든 명령은 캐시 가능한 레이어를 생성하고, 레이어는 이미지 재구축 및 공유를 도와준다.

Dockerfile 작성법

예를 들어, node.js 기반 어플리케이션을 배포한다고 생각해보자

# 어떤 이미지를 사용할 것인가 
FROM node

# 모든 커맨드는 이 폴더에서 실행되어야 한다
WORKDIR /app

# 어떤 파일이 이미지에 들어가야 할 것인가 정하는 것
# COPY . . -> 두 가지 path 
# (1) 이미지의 밖에서 어떤 파일들이 이미지 속으로 들어가야 하는 지 루트 설정
# (2) 이미지 안에서, 이 파일들이 어디에 저장되어야 하는 지 정하는 것
COPY . /app

# 모든 로컬 파일들이 복사가 되면, 이 이미지를 커맨드하는 것
RUN npm install

# 이미지에서 열어줄 포트 
EXPOSE 80  

# 컨테이너를 실행할 때 실행할 명령어 
CMD ["node", "server.js"]

0개의 댓글

관련 채용 정보