둘 다 프로세스, 네트워크, 파일 시스템을 격리할 수 있다는 장점이 있습니다. 하지만 작동원리가 다릅니다.
VM은 컴퓨팅 자원을 많이 필요로 합니다. 하지만 Docker 컨테이너는 여러개를 띄워도 컴퓨터에 무리가 오지 않습니다.
Docker는 이미지가 애플리케이션 단위로 만들어져 있기 때문에 바로 실행가능하지만, VM은 직접 세팅을 해줘야 합니다.
도커라이징(Dockerizing)은 애플리케이션을 Docker 컨테이너에서 돌릴 수 있도록 이미지로 만드는 과정을 의미합니다.
도커라이징보다는 컨테이너화라는 말을 더 많이 사용합니다.
touch Dockerfile
FROM node:14
WORKDIR /usr/src/app
COPY package*.json
RUN npm install
COPY ..
EXPOSE 8080
CMD ["node", "server.js"]
작성한 Dockerfile이 있는 디렉토리에서 Docker 이미지를 빌드하는 명령어를 실행할 수 있습니다.
docker build . -t <만든사람이름>/<레포지터리이름>
앞에서 만든 이미지를 다시 불러와 쉽게 실행할 수 있습니다.
docker run -p 49160:8080 -d <만든사람이름>/<레포지터리이름>