KAKAO.GG
Docker

Docker 컨테이너 실행부터 Dockerfile 작성

65870717953200389e7820de
2025. 2. 11.
조회 157
#Dockerfile 실행 명령어, Dockerfile 실행 방법, Docker run, Docker Hub, Docker build

Docker 컨테이너 실행 및 관리

Docker 컨테이너는 이미지를 기반으로 실행됩니다.
Docker Hub에는 다양한 이미지가 제공되며, 가져와 실행할 수 있습니다.

🔹 첫 번째 컨테이너 실행하기

docker run hello-world

✅ 실행 결과
Docker가 hello-world 이미지를 찾고 없다면 자동으로 다운로드한 후 실행합니다.
이제 컨테이너가 정상적으로 동작하는지 확인!

🔹 실행 중인 컨테이너 확인

docker ps

이 명령어를 사용하면 현재 실행 중인 컨테이너 목록을 확인할 수 있습니다.

🔹 컨테이너 중지 및 삭제

# 컨테이너 중지 
docker stop 컨테이너_ID 

# 컨테이너 삭제 
docker rm 컨테이너_ID

Dockerfile 작성 및 실행

Dockerfile은 컨테이너를 빌드하는 기초 파일 입니다.
간단한 웹 서버를 실행하는 컨테이너를 통해 확인해보죠~

🔹 간단한 Node.js 웹 서버 만들기

먼저, 프로젝트 폴더를 만들고 이동합니다.

mkdir my-docker-app && cd my-docker-app

🔹 Dockerfile 작성

Dockerfile을 만들고 아래 내용을 작성합니다.

# 1. Node.js 공식 이미지를 기반으로 사용
FROM node:18

# 2. 컨테이너 내 작업 디렉토리 설정
WORKDIR /app

# 3. 애플리케이션 파일 복사
COPY . .

# 4. 패키지 설치
RUN npm install

# 5. 컨테이너 시작 시 실행할 명령어
CMD ["node", "server.js"]

🔹 간단한 server.js 파일 생성

Dockerfile과 같은 폴더에 server.js 파일을 만들고 다음 코드를 추가합니다.

const http = require('http');

const server = http.createServer((req, res) => {
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    res.end('Hello from Docker!');
});

server.listen(3000, () => {
    console.log('Server running at http://localhost:3000');
});

🔹 Docker 이미지 빌드

이제 위의 Dockerfile을 사용해 이미지를 빌드합니다.

docker build -t my-docker-app .

이 명령어를 실행하면 my-docker-app이라는 이름으로 Docker 이미지가 생성됩니다.

🔹 컨테이너 실행

만든 이미지를 기반으로 컨테이너를 실행합니다.

-p 3000:3000에서 앞쪽(호스트 포트)과 뒤쪽(컨테이너 포트) 두 개의 포트를 적는 이유는 호스트(로컬 머신)와 컨테이너 간의 포트 매핑을 설정하기 위해서입니다.

docker run -p 3000:3000 my-docker-app

✅ 실행 후 http://localhost:3000에 접속하면 "Hello from Docker!" 메시지를 확인할 수 있습니다! 🚀