[도커] 도커 3: docker 명령어 모음 2탄 (도커 이미지 관련 명령어)

2024. 11. 13. 20:19·클라우드/도커

지난 시간에 이어,

유용한 docker 명령어를 알아보자


도커 컨테이너 이미지 다운로드

$ docker pull centos:latest                            # 이미지이름:버전 
$ docker pull registry.hub.docker.com/ubuntu:latest    # url(http://제거)로 pull

도커 허브에서 컨테이너 이미지를 로컬에 다운로드 한다.

(다른 컨테이너 저장소에서도 다운로드 가능하다)


도커 컨테이너 이미지 조회

$ docker images            # 현재 컴퓨터에 존재하는 이미지 확인
$ docker image ls          # 현재 컴퓨터에 존재하는 이미지 확인

로컬에 존재하는 이미지 확인 가능

 

$ docker search 이미지명/id        # docker hub에 등록된 이미지 확인 (이름, 설명,stars등 확인 가능)

도커 허브에 존재하는 이미지 조회 가능


도커 컨테이너 이미지 삭제

$ docker rmi myImage:1.0            # docker image 삭제
$ docker image prune                # 사용하지 않는 이미지만 삭제
로컬에서 해당 이미지 삭제 가능하다!

도커 컨테이너 이미지 생성

- base image로부터 컨테이너 생성 이후, 컨테이너에서 작업한 내용은 container layer로 쌓인다
- 이때, 실행중인 컨테이너를 도커 이미지로 생성 가능하다 (base image + container image)

 

$ docker commit my_running_container                          # 실행 중인 컨테이너를 이미지로 생성
$ docker commit -a “lemon” my_running_container               # 작성자 기입하여 컨테이너를 이미지로 생성 
$ docker commit -m “my first commit” my_running_container     # 주석을 기입하여 컨테이너를 이미지로 생성
- docker commit 시 이전의 내용이 모두 한 layer로 생성된다!!
 
$ docker run -it --name test_custom_image ubuntu
# echo “test_1” >> test_first.txt                   # (컨테이너 실행) custom layer에 추가
# echo “test_2” >> /home/test_second.txt            # (컨테이너 실행) custom layer에 추가
# exit                                              # (컨테이너 실행) 

$ docker commit -m "first commit" test_custom_image my_image:first

 

도커 레지스트리에서 가져온 base image (=ubuntu)에,

파일을 쓰는 등 custim layer를 추가한다.

 

이때, my_image에는

(ubuntu base 이미지) + (파일을 쓴 작업내역)가 모두 올라가는 것이다!


도커 컨테이너 이미지 내역 확인

$ docker image history my_image:first       # 도커 이미지 내역 확인

이미지를 하나 만들어주자

 

history로 확인했을 때, <MISSING> 부분이 있다.

이 에러는 호스트 컴퓨터에 해당 이미지가 존재하지 않아 발생하는 에러이다!

 

이번 경우는, base image의 history를 나타낸 것으로 

docker build를 통해 base image의 Dockerfile을 직접 빌드하면 <missing>이 사라진다!

(Dockerfile은 다음에 알아보자!)


도커 이미지 상세 내용 확인

$ docker image inspect my_image:first # 상세내용 확인

도커 이미지는 base image와 container layer로 구성된다고 했다.

이때, 도커 이미지가 어떤 layer로 구성되는지 확인하고 싶을 때 사용할 수 있다

명령어를 사용하면 LowerDir, Upper Dir를 확인할 수 있다.

 

 

이때, 

사용자가 새로 작업한 영역인 UpdderDir를 확인해볼까?

$ sudo ls /var/lib/docker/overlay2/b1760ff43dab87a7d2c96fe97cf20a848c731667327de561eee20132ffb42ea0/diff
$ sudo cat /var/lib/docker/overlay2/b1760ff43dab87a7d2c96fe97cf20a848c731667327de561eee20132ffb42ea0/diff/test_first

호스트 컴퓨터에서 

다음과 같이 명령어를 실행하면,

어떤 파일이 새로 생성이 되었는지 컨테이너 변경 내역을 확인할 수 있다.


다음 시간에는 도커 파일 관련해서 알아보자!

'클라우드 > 도커' 카테고리의 다른 글

[도커] 도커 5: docker 파일 2 (Dockerfile) - 도커 명령어  (3) 2024.11.15
[도커] 도커 4: docker 파일 1 (Dockerfile)  (5) 2024.11.14
[도커] 도커 2: docker 명령어 모음 1탄 (도커 컨테이너 관련 명령어)  (1) 2024.11.12
[도커] 도커 1: 도커의 3가지 컨셉  (1) 2024.11.11
[도커] 도커 0: 도커가 뭐고 왜 쓰나요?  (1) 2024.11.10
'클라우드/도커' 카테고리의 다른 글
  • [도커] 도커 5: docker 파일 2 (Dockerfile) - 도커 명령어
  • [도커] 도커 4: docker 파일 1 (Dockerfile)
  • [도커] 도커 2: docker 명령어 모음 1탄 (도커 컨테이너 관련 명령어)
  • [도커] 도커 1: 도커의 3가지 컨셉
KyuminKim
KyuminKim
컴퓨터공학과 학생의 이모저모 개발 일지 📝
  • KyuminKim
    이모저모
    KyuminKim
  • 전체
    오늘
    어제
    • 분류 전체보기 (53)
      • 프로젝트 (2)
        • first-blog (2)
      • 클라우드 (22)
        • 도커 (14)
        • 쿠버네티스 (5)
        • AWS (2)
      • 알고리즘 (5)
        • 코드트리 (0)
        • 프로그래머스 (5)
      • 백엔드 (8)
      • 프론트엔드 (2)
      • 보안 (3)
        • 드림핵 (2)
      • python (3)
      • 네트워크 (1)
      • 기타 (6)
        • 2025 프로펙트 부트캠프(1차) | 클라우드 엔.. (0)
        • OSSCA | 2024 오픈소스 컨트리뷰션 아카데.. (0)
        • WIK (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    urf8
    도커파일
    character_set_server
    apiserver-runtime
    알고리즘
    쿠버네티스
    코드트리조별과제
    DP
    티스토리챌린지
    cannot send an empty message
    MySQL
    탈퇴구현
    코드트리
    자료구조
    docker
    오블완
    2024 당근 테크 밋업
    고랭
    EC2
    주간레포트
    DB
    파이썬
    코딩테스트
    amazonlinux
    코딩트리조별과제
    도커
    recover_your_data
    진단평가
    characterencoding
    인코딩
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
KyuminKim
[도커] 도커 3: docker 명령어 모음 2탄 (도커 이미지 관련 명령어)
상단으로

티스토리툴바