728x90
안녕하세요! 오늘은 Docker에서 가장 기본이 되는 이미지 관련 명령어들을 상세히 알아보겠습니다.
1. Docker 이미지 기본 명령어
이미지 검색 (docker search)
# Docker Hub에서 이미지 검색
docker search [이미지명]
# 예시
docker search nginx
docker search ubuntu
이미지 다운로드 (docker pull)
# 기본 형식
docker pull [이미지명]:[태그]
# 예시
docker pull nginx:latest
docker pull ubuntu:20.04
※ 태그를 지정하지 않으면 자동으로 'latest' 태그가 사용됩니다.
이미지 목록 확인 (docker images)
# 모든 이미지 목록 보기
docker images
# 특정 이미지 필터링
docker images | grep nginx
이미지 상세 정보 확인 (docker inspect)
# 이미지의 상세 정보 확인
docker inspect [이미지명 또는 이미지ID]
# 예시
docker inspect nginx
이미지 삭제 (docker rmi)
# 단일 이미지 삭제
docker rmi [이미지명]:[태그]
# 강제 삭제 (-f 옵션)
docker rmi -f [이미지명]:[태그]
# 사용하지 않는 모든 이미지 삭제
docker image prune
# 모든 이미지 강제 삭제
docker rmi -f $(docker images -q)
2. Docker 이미지 태그 관리
이미지 태그 추가 (docker tag)
# 기존 이미지에 새로운 태그 추가
docker tag [기존이미지명]:[태그] [새이미지명]:[새태그]
# 예시
docker tag nginx:latest my-nginx:1.0
3. Docker 이미지 저장 및 로드
이미지 파일로 저장 (docker save)
# 이미지를 tar 파일로 저장
docker save -o [파일명.tar] [이미지명]
# 예시
docker save -o nginx.tar nginx:latest
저장된 이미지 불러오기 (docker load)
# tar 파일에서 이미지 로드
docker load -i [파일명.tar]
# 예시
docker load -i nginx.tar
4. Docker 이미지 히스토리 확인
이미지 히스토리 확인 (docker history)
# 이미지 레이어 히스토리 확인
docker history [이미지명]
# 예시
docker history nginx
5. 자주 발생하는 문제와 해결방법
1. 이미지 삭제 오류
컨테이너가 해당 이미지를 사용 중일 경우:
# 관련 컨테이너 중지
docker stop [컨테이너ID]
# 컨테이너 삭제 후 이미지 삭제
docker rm [컨테이너ID]
docker rmi [이미지ID]
2. 디스크 공간 확보
# 사용하지 않는 이미지, 컨테이너, 네트워크 모두 제거
docker system prune
# 볼륨까지 모두 제거
docker system prune -a --volumes
6. 유용한 팁
이미지 크기 최적화
- 경량 베이스 이미지 사용 (예: alpine)
- 다단계 빌드(multi-stage build) 활용
- 불필요한 파일 제거
이미지 태그 네이밍 규칙
[저장소명]/[이미지명]:[태그]
예: myregistry.azurecr.io/myapp:1.0
정리
Docker 이미지 관리의 주요 명령어들을 정리하면 다음과 같습니다:
- 검색: docker search
- 다운로드: docker pull
- 목록 확인: docker images
- 삭제: docker rmi
- 태그 관리: docker tag
- 저장/로드: docker save/load
- 정보 확인: docker inspect/history
이러한 명령어들을 잘 활용하면 Docker 이미지를 효율적으로 관리할 수 있습니다.
참고사항
- 이미지 이름은 항상 소문자를 사용하는 것이 권장됩니다.
- 프로덕션 환경에서는 latest 태그 사용을 피하고 구체적인 버전을 명시하는 것이 좋습니다.
- 주기적으로 사용하지 않는 이미지를 정리하여 디스크 공간을 관리하세요.
이상으로 Docker 이미지 관련 명령어 가이드를 마치겠습니다.
실무에서 자주 사용되는 명령어들이니 참고하시면 좋을 것 같습니다.
728x90
'IT 개발 > 클라우드' 카테고리의 다른 글
[도커] 도커의 역사 (5) | 2025.02.01 |
---|---|
[도커] 도커 - 현대 애플리케이션 개발의 혁명 (3) | 2025.02.01 |
[도커] Docker 네트워크 완벽 가이드 (2) | 2025.02.01 |
[도커] Docker 볼륨(Volume) 완벽 가이드 (0) | 2025.02.01 |
[도커] Docker 컨테이너 명령어 완벽 가이드 (1) | 2025.02.01 |