Infrastructure

    3. 도커 이미지

    이미지란 서비스에 필요한 소스코드, 라이브러리, 여러 툴들을 묶은 파일을 의미한다. 이러한 이미지는 여러 컨테이너에서 사용될 수 있다. 프로그램이 메모리에 적재되어 실행되면 프로세스라고 하듯, 이미지가 실행되면 컨테이너라고 할 수 있다. 우리는 동료가 이미 생성해놓은 이미지나 매우 흔히 사용되는 공식적인 pre-built 이미지 등등 이미 존재하는 이미지를 가져다 사용할 수 있다. Docker Hub는 공식적으로 이미지를 얻어올 수 있는 가장 좋은 source이다. 간단한 명령어를 통해 Docker Hub에서 제공하고 있는 이미지를 가져다 실행시킬 수 있다. 예를들어, docker run node 명령어를 입력하면 node 팀에서 공식적으로 제공하는 node 이미지를 Docker Hub에서 받아와 컨테이..

    2. Docker로 간단하게 서버 띄우기(MacOS)

    시작 전 Docker로 서버를 구축하기 전 먼저 Docker가 설치되어 있어야 한다. https://www.docker.com/ { res.send('Hi there!'); }); app.listen(3000); Dockerfile 서버를 컨테이너에서 띄우기 위해선 Dockerfile을 작성해야 한다. 루트 패키지에 Dockerfile이라는 이름의 파일을 생성해 다음과 같이 작성하자. FROM node:14 //node version WORKDIR /app //directory COPY package.json . //package.json을 복사한다. RUN npm install //필요한 패키지를 다운받는다. COPY . . //나머지 코드들을 복사한다. EXPOSE 3000 //3000번 포트를 개방..

    1. Docker란?

    도커란? 도커는 컨테이너를 생성하고 관리하는 도구이다. 컨테이너는 표준화된 소프트웨어의 단위이다. 즉, 코드와 그 코드를 실행하기 위한 의존성들의 묶음이다. 예를 들어, NodeJS 애플리케이션을 구축하려고 한다고 해보자. NodeJS란 Javascript Runtime으로 서버에서 Javascript를 실행할 수 있게끔 해준다. 만약 도커로 NodeJS 컨테이너를 구축한다면 그 컨테이너 안에는 NodeJS를 구동할 수 있는 환경이 갖춰져 있어 즉시 사용자가 작성한 코드를 실행시킬 수 있다. 또한, 표준화된 소프트웨어의 단위이기 때문에 같은 컨테이너는 어디서 누가 실행시키든 같은 결과를 보장한다. 도커를 왜 사용할까? 이 질문은 결국 독립적이고 표준화된 애플리케이션 묶음(컨테이너)이 왜 중요한 것일까? ..