728x90
📦 Docker 개념 정리
🐳 Docker란?
Docker는 컨테이너 기반의 오픈소스 가상화 플랫폼이다. 애플리케이션과 그 실행 환경을 하나로 묶어 배포, 실행이 가능하게 만든다.
🔍 왜 Docker를 사용하는가?
- 환경 일관성: 개발 환경과 운영 환경을 동일하게 유지
- 빠른 배포 및 실행: 컨테이너는 VM보다 가볍고 빠르다
- 이식성: OS에 독립적으로 어디서든 실행 가능
- 버전 관리 용이: 이미지로 버전 관리가 가능
🧱 주요 개념
| 개념 | 설명 |
| 이미지(Image) | 컨테이너 실행을 위한 설정 파일. 코드 + 종속성 + 실행 환경 |
| 컨테이너(Container) | 이미지를 실행한 상태. 격리된 실행 공간 |
| Dockerfile | 이미지를 만들기 위한 명령어 모음 |
| Docker Hub | 도커 이미지 저장소 (GitHub의 이미지판) |
| 볼륨(Volume) | 컨테이너의 데이터를 호스트에 안전하게 저장하는 방식 |
🛠️ 자주 쓰는 Docker 명령어 정리
📁 이미지 관련
docker images # 현재 보유 중인 이미지 목록 보기
docker pull 이미지명 # 이미지 다운로드
docker rmi 이미지ID # 이미지 삭제
docker build -t 이름 . # Dockerfile로 이미지 생성
📦 컨테이너 관련
docker ps # 실행 중인 컨테이너 목록
docker ps -a # 종료된 것 포함 전체 컨테이너 목록
docker run -it ubuntu bash # ubuntu 이미지로 컨테이너 실행 및 bash 진입
docker run -d -p 8080:80 이미지명 # 백그라운드 실행 + 포트 바인딩
docker exec -it 컨테이너ID bash # 실행 중인 컨테이너에 접속
docker stop 컨테이너ID # 컨테이너 중지
docker rm 컨테이너ID # 컨테이너 삭제
📂 볼륨 마운트
docker run -v /호스트경로:/컨테이너경로 이미지명
🧰 기타
docker logs 컨테이너ID # 로그 보기
docker network ls # 네트워크 목록
docker volume ls # 볼륨 목록
docker system prune # 안 쓰는 리소스 정리 (공간 확보)
📝 정리 팁
- Docker는 이미지로 관리 → 컨테이너로 실행하는 구조
Dockerfile은 코드 + 환경 자동화 스크립트docker-compose를 쓰면 복잡한 다중 컨테이너 구성도 YAML로 관리 가능
'docker' 카테고리의 다른 글
| [docker] 윈도우 도커 설치 및 trivy 취약점 (1) | 2025.04.21 |
|---|