컴퓨터

🌟 초보도 쉽게 따라 하는 Docker로 앱 배포 & Docker Hub 업로드 가이드 🌟

그놈 목소리 2025. 6. 10. 13:13
728x90
반응형

docker

 

안녕하세요, 여러분! 😊 개발을 하다 보면 "이 앱을 어떻게 세상에 내놓지?"라는 고민, 한 번쯤 해보셨죠? 저도 처음엔 서버 설정에 머리 아팠던 기억이 새록새록해요. 하지만 Docker 덕분에 이 과정이 훨씬 간단해졌답니다! 🚀 오늘은 초보자도 쉽게 따라 할 수 있는 Docker로 앱 배포 방법과 Docker Hub에 올리는 과정을 친근하게 알려드릴게요. 자, 커피 한 잔 들고 시작해볼까요? ☕

1. Docker가 뭐야? 왜 쓰는 거지? 🤔

Docker는 앱을 컨테이너라는 가벼운 패키지에 담아서 어디서든 똑같이 실행할 수 있게 해주는 도구예요. 예를 들어, 내 컴퓨터에선 잘 돌아가던 앱이 서버에선 에러? 이런 문제를 싹 해결해줍니다. 게다가 설정도 간단해서 초보자도 금방 익힐 수 있어요!

2. 간단한 앱 준비하기

먼저, 배포할 간단한 앱을 만들어볼게요. 여기선 Node.js로 간단한 웹 앱을 예로 들어볼게요. 아래는 간단한 서버 코드예요.

const express = require('express');
const app = express();
app.get('/', (req, res) => res.send('Hello, Docker World!'));
app.listen(3000, () => console.log('Server running on port 3000'));

이 코드를 app.js로 저장하고, 같은 폴더에 package.json도 만들어줍시다.

 

반응형
{
  "name": "docker-app",
  "version": "1.0.0",
  "dependencies": {
    "express": "^4.17.1"
  },
  "scripts": {
    "start": "node app.js"
  }
}

3. Dockerfile 작성하기 📝

이제 Docker가 앱을 어떻게 실행할지 알려주는 Dockerfile을 만들어요. 같은 폴더에 Dockerfile이란 이름으로 아래 내용을 저장하세요.

FROM node:14
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]

이 파일은 Node.js 환경을 설정하고, 앱 코드를 복사해서 실행할 준비를 해줍니다. 간단하죠? 😄

728x90

4. Docker 이미지 빌드하기

터미널에서 앱 폴더로 이동한 뒤, 아래 명령어로 이미지를 빌드해요.

docker build -t my-app .

my-app은 이미지 이름이에요. 빌드가 끝나면 docker images로 확인해볼 수 있어요.

5. 컨테이너 실행해보기 🛠️

이제 이미지를 컨테이너로 실행해봅시다.

docker run -p 3000:3000 my-app

브라우저에서 localhost:3000에 접속하면 "Hello, Docker World!"가 보일 거예요! 성공! 🎉

6. Docker Hub에 업로드하기

이제 이 멋진 앱을 세상과 공유할 차례예요. Docker Hub에 이미지를 업로드하면 누구나 다운 받아 사용할 수 있죠. 먼저, Docker Hub 계정을 만들고 로그인해요.

docker login

그 다음, 이미지에 태그를 붙여줍니다. yourusername은 본인의 Docker Hub 사용자 이름으로 바꿔주세요.

docker tag my-app yourusername/my-app:latest

이제 업로드!

docker push yourusername/my-app:latest

업로드가 완료되면 Docker Hub에서 내 이미지를 확인할 수 있어요. 다른 서버에서 docker pull yourusername/my-app:latest로 다운받아 실행할 수 있답니다!

7. 마무리하며

Docker로 앱 배포, 생각보다 쉽죠? 처음엔 낯설어도 한 번 해보면 "이렇게 편할 수가!"라는 감탄이 나올 거예요. 😜 여러분의 소중한 앱을 세상에 뿌리기 위해 Docker와 Docker Hub를 적극 활용해보세요. 궁금한 점 있으면 언제든 댓글 남겨주세요!

 

728x90
반응형