Tool 활용법/Docker 활용법

[Docker 기초 1] Docker로 띄울 간단한 웹서버 만드는 방법

gksyb4235 2026. 2. 5. 18:46

 

Docker를 배울 때 가장 흔한 실수는 맥락 없이 명령어만 따라 치는 것이다.
docker build, docker run 같은 명령어를 몇 번 실행해보면 당장은 이해한 것 같지만, 다음 날이면 대부분 잊어버리게 된다.

그래서 Docker는 반드시 실제로 활용할 수 있는 환경에서 배워야 한다.
이번 글에서는 가장 현실적인 시나리오 하나를 설정하고, 그 흐름 속에서 Docker가 왜 필요한지 자연스럽게 이해할 것.

 

 

Docker 사용 예제


실무에서 Docker를 가장 많이 사용하는 순간은 언제일까.
대부분은 다음과 같은 상황이다.

  • 서버 프로그램을 하나 만들었고
  • 이 프로그램을 다른 서버 환경에 빠르게, 동일한 조건으로 배포해야 할 때

즉, Docker는 개발 그 자체보다 배포와 운영의 문제를 해결하기 위한 도구다.
따라서 Docker를 이해하려면, 먼저 “배포할 서버 프로그램”이 무엇인지부터 명확해야 한다.

 

 

 

서버란 무엇인가?


서버란 아주 단순한 개념이다.

  • 누군가 어떤 데이터를 요청하면
  • 그에 맞는 데이터를 응답으로 보내주는 프로그램

예를 들면 다음과 같다.

  • 유튜브 서버는 동영상을 요청하면 동영상을 보내준다.
  • 네이버 뉴스 서버는 뉴스를 요청하면 뉴스를 보내준다.

이번 실습에서는 아주 단순한 서버를 하나 만든다.

  • 메인 페이지에 접속하면
  • 간단한 대답을 응답으로 보내주는 서버

기능은 단순하지만, 서버 개발과 배포의 핵심 흐름을 모두 담고 있다.

 

 

 

Node.js로 간단한 서버 만들기


서버는 여러 언어로 만들 수 있지만, 여기서는 Node.js를 사용한다.
이유는 다음과 같다.

  • 설치가 간단하다
  • 코드가 짧고 직관적이다
  • 웹 서버 실습에 적합하다

 

 

구글에서 nodejs를 검색한 뒤 공식 사이트에 접속한다.
LTS 버전을 다운로드하여 설치하면 된다.

 

Node.js는 자바스크립트 코드를 컴퓨터 어디서든 실행할 수 있게 해주는 프로그램이다.
이것만 설치하면 자바스크립트로 서버 개발이 가능해진다.

운영체제가 맥이든 윈도우든 개발 방식은 동일하다.

 

 

 

프로젝트 폴더 생성 및 코드 에디터 실행


 

 

 

다음으로 적당한 위치에 폴더 하나를 생성한다.
이 폴더가 서버 프로젝트의 루트 디렉터리가 된다.

 

이제 코드를 작성하기 위해 비주얼 스튜디오 코드를 사용한다.

  • 코드 에디터 (Visual Studio Code, Cursor 등) 실행
  • Open Folder 선택
  • 방금 만든 프로젝트 폴더 열기

 

왼쪽 탐색기에 폴더 이름이 보이면 준비 완료다.

 

 

 

Node.js 프로젝트 초기화와 라이브러리 설치


1. npm init

 

코드 에디터 상단 메뉴에서 터미널을 연다.
다음 명령어를 입력한다.

npm init -y
 
 
 

이 명령어를 실행하면 package.json 파일이 생성된다.
이 파일은 어떤 라이브러리를 설치했는지 기록하는 설정 파일이다.

 

 

2. Express 설치

 

서버를 쉽게 만들기 위해 Express 라이브러리를 사용한다.

npm install express
 

 

설치가 완료되면 node_modules 폴더가 생성된다.
여기에 Express를 포함한 모든 라이브러리 파일이 저장된다.

 

 

3. 서버 코드 작성

 

프로젝트 폴더에 server.js 파일을 하나 생성한다.
여기에 웹 서버 코드를 작성한다.

const express = require('express');
const app = express();

app.listen(8080, () => {
  console.log('서버 실행중 http://localhost:8080');
});

app.get('/', (req, res) => {
  res.send('그냥 웹서버 하나 띄운거임');
});

 

이 코드는 다음 역할을 한다.

  • Express 라이브러리를 사용한다.
  • 웹 서버를 실행한다.
  • 사용자가 메인 페이지(/)로 접속하면 특정 문자열을 응답으로 보낸다.

즉, 브라우저에서 주소를 입력하면 서버가 실행되고, 해당 문자열이 화면에 표시된다.

 

 

 

 

그럼 이 서버는 보통 어떻게 배포되는가?


지금까지 만든 서버를 배포하려면 다음을 하면 된다.

  1. AWS에서 서버 컴퓨터 하나를 빌린다.
  2. 해당 서버에 접속한다.
  3. Node.js 설치
  4. Express 설치
  5. 소스 코드 작성
  6. 서버 실행

이 방법은 명확하지만 단점이 있다.

  • 환경 설정이 귀찮다
  • 서버마다 환경이 달라 문제가 발생할 수 있다
  • 재현성이 떨어진다

이 문제를 해결하기 위해 등장한 것이 Docker다.

 

 

 

도커로 서버 배포하는 방법

Docker는 다음을 하나로 묶는다.

  • 운영체제
  • 설치한 프로그램
  • 라이브러리
  • 우리가 작성한 소스 코드

이 모든 것을 하나의 이미지로 만들어둔다.

 

이미지를 만들기 위해서는 Dockerfile이 필요하다.
Dockerfile은 이미지를 만들기 위한 레시피다.

 

다음 포스트에서 이어서 Dockerfile을 활용해 쉽게 서버를 배포해볼 것.