모든 것은 macOS 기준
https://www.docker.com/get-started/
developers -> getting started -> docker desktop
🐳 도커는 컨테이너 기술이고, 이는 컨테이너들을 만들고 관리하는 툴이다.
🐳 컨테이너는 소프트웨어의 표준화된 유닛이다.
컨테이너를 사용하면 다른 환경에서도 소프트웨어를 작동시킬 수 있다.
컨테이너를 사용하였을 때의 장점은
🐳 이미지는 컨테이너의 blueprint이다. 코드와 런타임을 포함한다.
정리하자면,
예를 들어, node.js 기반 어플리케이션을 배포한다고 생각해보자
# 어떤 이미지를 사용할 것인가
FROM node
# 모든 커맨드는 이 폴더에서 실행되어야 한다
WORKDIR /app
# 어떤 파일이 이미지에 들어가야 할 것인가 정하는 것
# COPY . . -> 두 가지 path
# (1) 이미지의 밖에서 어떤 파일들이 이미지 속으로 들어가야 하는 지 루트 설정
# (2) 이미지 안에서, 이 파일들이 어디에 저장되어야 하는 지 정하는 것
COPY . /app
# 모든 로컬 파일들이 복사가 되면, 이 이미지를 커맨드하는 것
RUN npm install
# 이미지에서 열어줄 포트
EXPOSE 80
# 컨테이너를 실행할 때 실행할 명령어
CMD ["node", "server.js"]