클라우드/도커
[도커] 도커 3: docker 명령어 모음 2탄 (도커 이미지 관련 명령어)
KyuminKim
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
호스트 컴퓨터에서
다음과 같이 명령어를 실행하면,
어떤 파일이 새로 생성이 되었는지 컨테이너 변경 내역을 확인할 수 있다.
다음 시간에는 도커 파일 관련해서 알아보자!