
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 라이브러리를 사용한다.
- 웹 서버를 실행한다.
- 사용자가 메인 페이지(/)로 접속하면 특정 문자열을 응답으로 보낸다.
즉, 브라우저에서 주소를 입력하면 서버가 실행되고, 해당 문자열이 화면에 표시된다.


그럼 이 서버는 보통 어떻게 배포되는가?
지금까지 만든 서버를 배포하려면 다음을 하면 된다.
- AWS에서 서버 컴퓨터 하나를 빌린다.
- 해당 서버에 접속한다.
- Node.js 설치
- Express 설치
- 소스 코드 작성
- 서버 실행
이 방법은 명확하지만 단점이 있다.
- 환경 설정이 귀찮다
- 서버마다 환경이 달라 문제가 발생할 수 있다
- 재현성이 떨어진다
이 문제를 해결하기 위해 등장한 것이 Docker다.
도커로 서버 배포하는 방법
Docker는 다음을 하나로 묶는다.
- 운영체제
- 설치한 프로그램
- 라이브러리
- 우리가 작성한 소스 코드
이 모든 것을 하나의 이미지로 만들어둔다.
이미지를 만들기 위해서는 Dockerfile이 필요하다.
Dockerfile은 이미지를 만들기 위한 레시피다.
다음 포스트에서 이어서 Dockerfile을 활용해 쉽게 서버를 배포해볼 것.
'Tool 활용법 > Docker 활용법' 카테고리의 다른 글
| [Docker 기초 3] Docker Container 필수 명령어 정리 (0) | 2026.02.06 |
|---|---|
| [Docker 기초 2] Dockerfile로 내 프로그램을 Docker Image로 만들기 (0) | 2026.02.06 |
| Docker와 Container 기술 구체적으로 살펴보기 (0) | 2026.02.05 |
| Docker 설치방법 및 기본 이미지 실행하기 (Image) (0) | 2026.02.05 |
| Docker를 사용해야 하는 이유 (Docker와 Container) (0) | 2026.02.05 |