Cloud & Platform
Docker와 Docker Hub 기본 명령어
Docker와 Docker Hub 기본 명령어 학습 내용을 정리한 백필 노트입니다.
이 글은 2025년 학습 기록을 블로그 형식으로 정리한 백필 노트입니다.
1. 도커(Docker) 개념
- 컨테이너 기반 가상화 플랫폼
- 기존 VM은 운영체제(OS) 전체를 가상화 → 무겁고 느림
- 도커는 애플리케이션과 필요한 라이브러리/환경만 컨테이너에 격리 → 가볍고 빠름
- 핵심 개념:
- 이미지(Image) : 실행 가능한 애플리케이션 패키지 (설정, 코드, 라이브러리 포함)
- 컨테이너(Container) : 이미지를 실행한 인스턴스 (실제 동작 단위)
- 도커 엔진(Docker Engine) : 컨테이너 관리 및 실행을 담당하는 도커 실행 환경
2. 도커 허브(Docker Hub) 개념
- 도커 이미지 저장소 (레지스트리 서비스)
- GitHub처럼 공개된 이미지 공유 가능
- 주요 기능:
- 공식 이미지 제공 (예:
nginx,mysql,ubuntu등) - 사용자 계정으로 개인 이미지 업로드/다운로드 가능
- CI/CD와 연동 가능
- 공식 이미지 제공 (예:
3. 도커 기본 명령어
3.1. 이미지 관련
-
docker pull <이미지>→ 도커 허브에서 이미지 내려받기
예:
docker pull nginx:latest -
docker images→ 로컬에 저장된 이미지 목록 확인
-
docker rmi <이미지ID>→ 이미지 삭제
3.2. 컨테이너 실행 및 관리
-
docker run [옵션] <이미지>→ 컨테이너 실행 (이미지 없으면 자동으로 pull)
- 주요 옵션:
d: 백그라운드 실행p 호스트포트:컨테이너포트: 포트 매핑-name <이름>: 컨테이너 이름 지정it: 터미널 접속(대화형 모드)
- 주요 옵션:
-
docker ps→ 실행 중인 컨테이너 목록 확인
-
docker ps -a→ 중지된 것 포함 전체 컨테이너 목록
-
docker stop <컨테이너ID>→ 컨테이너 중지
-
docker start <컨테이너ID>→ 중지된 컨테이너 시작
-
docker restart <컨테이너ID>→ 컨테이너 재시작
-
docker rm <컨테이너ID>→ 컨테이너 삭제
3.3. 컨테이너 내부 접근 및 로그
-
docker exec -it <컨테이너ID> /bin/bash→ 실행 중인 컨테이너 내부 접속
-
docker logs <컨테이너ID>→ 컨테이너 로그 확인
3.4. 볼륨/네트워크
-
docker volume ls→ 도커 볼륨 목록 확인
-
docker network ls→ 도커 네트워크 목록 확인
3.5. 이미지 빌드
-
docker build -t <이미지이름>:태그 .→ 현재 디렉토리(
.)의 Dockerfile로 이미지 생성
3.6. 도커 허브 업로드
-
로그인:
docker login -
태그 붙이기:
docker tag myapp:1.0 username/myapp:1.0 -
푸시:
docker push username/myapp:1.0
✅ 핵심 요약
- 도커 = 컨테이너 실행 플랫폼
- 도커 허브 = 이미지 공유/저장소
- 반드시 알아야 할 명령어:
docker run,docker ps,docker exec,docker build,docker push