docker image history nginx:latest
IMAGE CREATED CREATED BY SIZE
593aee2afb64 4 days ago /bin/sh -c #(nop) CMD ["nginx" "-g" "daemon… 0B
<missing> 4 days ago /bin/sh -c #(nop) EXPOSE 80 0B
<missing> 2 weeks ago /bin/sh -c #(nop) ADD file:55ad846fa191e6… 74.8MB
Docker Desktop
항목
설명
Docker Desktop
Docker CLI와 GUI를 제공하여 Docker 컨테이너와 이미지를 관리하는 데 도움.
Docker Hub
Public 및 Private Registry로 이미지를 저장 및 공유.
Access Token 관리
Docker Hub에서 Access Token을 생성하여 보안성을 강화하고, 관리 인터페이스에서 제어 가능.
Docker 명령어 활용 포인트
이미지 확인:
이미지 상태를 점검하고 필요한 경우 레지스트리에서 재다운로드.
로그인 관리:
Docker Hub에 로그인하여 이미지를 푸시/풀하거나 Private Registry 관리.
이미지 계층 분석:
docker image history와 docker image inspect를 통해 이미지 구성과 최적화 확인.
Docker Container와 Container 를 다루는 CLI
Docker Image와 Container 관계 요약
항목
설명
Docker Image
컨테이너를 실행하기 위한 운영체제(OS), 애플리케이션, 라이브러리 정보를 포함. 컨테이너의 "틀"과 같은 역할.
Docker Container
Docker Image를 실행한 상태. 이미지로부터 생성된 실행 단위. 1개의 이미지로 다수의 컨테이너를 생성 가능 (1:N 관계).
비유:
Docker Image는 붕어빵 틀.
Docker Container는 틀에서 구워낸 붕어빵.
Docker Container와 관련 CLI 명령어 요약
1. Docker Image 관리
명령어 설명
명령어
설명
docker pull <이미지명:태그>
지정된 태그의 이미지를 다운로드.
docker images
다운로드된 이미지 목록 확인.
docker build -t <이미지명>
Dockerfile을 기반으로 이미지를 빌드.
docker image prune
태그가 없는 불필요한(dangling) 이미지 삭제.
2. Docker Container 생성 및 실행
명령어
설명
docker create
컨테이너 생성만 수행, 실행은 하지 않음.
docker start <컨테이너명>
중지된 컨테이너 실행.
docker attach <컨테이너명>
실행 중인 컨테이너에 연결.
docker run
create, start, attach를 한 번에 실행.
docker run -d
백그라운드에서 실행.
docker run -p <호스트포트>:<컨테이너포트>
호스트와 컨테이너의 포트 연결.
docker run -v <호스트경로>:<컨테이너경로>
호스트 디렉토리와 컨테이너 디렉토리를 연결.
docker run --rm
실행 후 종료 시 컨테이너를 자동 삭제.
3. 컨테이너 상태 관리
명령어
설명
docker ps
실행 중인 컨테이너 목록 확인.
docker ps -a
실행 중이거나 중지된 모든 컨테이너 확인.
docker stop <컨테이너명>
실행 중인 컨테이너 중지.
docker pause <컨테이너명>
컨테이너 일시 중지.
docker unpause <컨테이너명>
일시 중지된 컨테이너 재개.
4. 실행 중인 컨테이너 정보 확인
명령어
설명
docker top <컨테이너명>
컨테이너 내에서 실행 중인 프로세스 확인.
docker stats
컨테이너 리소스 사용량(CPU, 메모리 등) 확인.
docker logs <컨테이너명>
컨테이너 로그 확인.
docker inspect <컨테이너명>
컨테이너의 세부 정보 확인(JSON 형식).
5. Docker 리소스 정리
명령어
설명
docker container prune
중지된 모든 컨테이너 삭제.
docker image prune
사용되지 않는 태그 없는 이미지 삭제.
docker system prune
사용하지 않는 모든 리소스 삭제(이미지, 컨테이너, 네트워크, 볼륨 등).
추가 설명
컨테이너와 프로세스 관계 Docker Container는 독립된 프로세스로 실행되며, ps -ef 명령으로 확인 가능.