728x90
반응형
🐳 도커란 무엇인가요?
개발자라면 한 번쯤은 들어봤을 말,
“내 컴퓨터에선 잘 되는데...?”
이 문제를 해결해주는 기술이 바로 **도커(Docker)**입니다.
도커는 애플리케이션을 격리된 환경에서 실행할 수 있게 도와주는 컨테이너 기반 가상화 플랫폼입니다.
컨테이너 안에 애플리케이션과 그에 필요한 라이브러리, 설정, 실행 환경 등을 모두 하나로 묶어 실행하기 때문에
다른 컴퓨터, 서버, 클라우드 어디에서든 같은 환경, 같은 결과를 만들어냅니다.
📦 가상머신과 도커의 차이는?
항목가상머신 (VM)도커 (Container)
무게감 | 무겁다 (OS 포함) | 가볍다 (커널 공유) |
부팅 속도 | 느림 | 빠름 |
자원 사용 | 많음 | 적음 |
실행 환경 | 완전한 독립 OS | 호스트 OS와 커널 공유 |
도커는 마치 ‘공용 건물의 방’처럼 운영체제를 공유하면서도 각각의 애플리케이션이 서로 간섭하지 않도록 격리하는 방식이에요. 이게 가볍고 빠르면서도 효과적인 이유죠!
🛠️ 도커 설치 방법 (Windows 기준)
- 도커 데스크탑(Docker Desktop) 설치
👉 https://www.docker.com/products/docker-desktop/ 에서 다운로드 - WSL2(Windows Subsystem for Linux) 활성화
도커는 WSL2를 기반으로 실행되므로, 윈도우 설정에서 기능 활성화 필요
→ 제어판 > 프로그램 > Windows 기능 켜기/끄기 > "Linux용 Windows 하위 시스템" 및 "가상 머신 플랫폼" 체크 - 재부팅 후 Docker Desktop 실행
- 터미널(CMD, PowerShell, 혹은 WSL)에서 다음 명령어로 설치 확인:
docker --version
🔧 도커 기본 사용법 (Hello World부터!)
1. 도커 이미지 실행하기
docker run hello-world
도커가 잘 설치되어 있다면, “Hello from Docker!”라는 메시지가 뜰 거예요.
2. 인기 많은 이미지 가져오기
예: Nginx 웹서버 실행
docker run -d -p 8080:80 nginx
- -d: 백그라운드 실행
- -p: 포트 매핑 (내 PC의 8080 → 컨테이너의 80번 포트)
→ 브라우저에서 http://localhost:8080 입력하면 Nginx 페이지가 보여요!
📄 Dockerfile 만들기 (내 앱을 이미지로 만들기)
# 베이스 이미지
FROM python:3.9
# 작업 디렉토리 설정
WORKDIR /app
# 코드 복사
COPY . .
# 의존성 설치
RUN pip install -r requirements.txt
# 실행 명령어
CMD ["python", "app.py"]
위 Dockerfile을 기반으로 내 파이썬 앱을 컨테이너로 만들 수 있어요.
docker build -t my-python-app .
docker run -p 5000:5000 my-python-app
🧽 도커 컨테이너 관리 명령어
명령어설명
docker ps | 실행 중인 컨테이너 목록 |
docker ps -a | 중지된 것도 포함한 전체 컨테이너 |
docker stop [컨테이너ID] | 컨테이너 정지 |
docker rm [컨테이너ID] | 컨테이너 삭제 |
docker images | 현재 저장된 이미지 목록 |
docker rmi [이미지ID] | 이미지 삭제 |
🌐 도커 허브(Docker Hub)란?
- 개발자들이 이미 만들어둔 다양한 이미지들이 모여있는 저장소예요.
- 예: MySQL, MongoDB, Node.js, Redis 등
- 명령어 예시:
docker pull mysql
🎯 마무리하며
도커는 개발자가 더 효율적으로, 더 안정적으로 코드를 개발하고 배포할 수 있도록 도와주는 필수 도구입니다.
처음엔 어렵게 느껴질 수 있지만, 한 번 익숙해지면 배포의 복잡함, 운영환경 차이, 테스트 환경 세팅 등의 문제를 한 방에 해결할 수 있어요.
728x90
반응형