이미지 다운로드
- 기존의 이미지를 pulling 할 때는 태그를 입력하지 않았다.
- default 값이 latest이기 때문이다.
- 아래와 같이 했었다
docker image pull hello-world
docker image pull ubuntu
docker image pull nginx
- 이후 이미지 목록을 확인해보자
docker image ls
- 태그를 입력하지 않음에도 불구하고 모두 latest로 기입되어있다.
- 그러나 태그를 입력해서 이미지를 가져오면 어떻게 될까?
docker image pull centos:7
- 태그 부분에 7이 적혀있음을 볼 수 있다.
이미지 목록 표시 옵션 (docker image ls)
옵션 | 설명 |
--all, -a | 모든 이미지를 표시 |
--digests | 다이제스트를 표시할지 말지 결정 |
--no-trunc | 결과를 모두 표시 |
--quiet, -q | Docker 이미지 ID만 표시 |
- all 옵션 ( -a)
docker image ls -a
docker image ls --all
- digests 옵션
docker image ls --digests
# digests를 표시한다.
- --no-trunc 옵션
docker image ls --no-trunc
# 이미지 ID를 온전하게 표시해준다.
- --quiet 옵션 (-q)
docker image ls --quiet
docker image ls -q
이미지 상세 정보 확인 (docker image inspect)
- 기본구조
docker image inspect <이미지명:태그>
docker image inspect hello-world:latest
# JSON형식으로 출력이 됨을 볼 수 있다.
이미지 태그 설정 (docker image tag)
- 태그 사용법을 알아보자
docker help tag
# docker tag <소스이미지:태그> <타겟이미지:태그> 형식이다.
- 우분투 이미지 파일을 abcde:fghi 태그를 붙인다.
docker tag ubuntu:latest abcde:fghi
# 우분투와 abcde가 image id를 포함해 용량, 생성날짜 등이 모두 같다. 쉽게 말해 하드링크가 되었다고 생각하면 된다.
도커 허브에 이미지 파일 넣어보기
- 우분투와 centos 태그를 생성해보자
docker tag ubuntu:latest holywat2r/test:ubuntu
docker tag centos:7 holywat2r/test:centos
- 이후 push를 통해 생성한 이미지를 본인 계정에 넣어보자
docker image push holywat2r/test:ubuntu
# 권한이 없다고 뜬다. 도커 허브에 로그인을 해주자.
- 도커 계정으로 로그인
docker login
- 이후 다시 push를 진행해보자
docker image push holywat2r/test:ubuntu
docker image push holywat2r/test:centos
# push가 잘 됨을 볼 수 있다.
- 도커허브 계정에서 레포지토리를 확인해보자
이미지 삭제하기
- 도커 이미지를 확인해보자
docker images
- 이미지중 holywat2r:test/centos를 지워보자
docker image rm holywat2r/test:centos
- nginx도 삭제해보자.
docker image rm nginx:latest
# 에러가 뜬다.
# 사용하지 않는 이미지는 지울 수 있지만 사용중인 이미지는 지울 수 없다.
# 사용중이다 : 해당 이미지를 가지고 컨테이너를 생성했고 실행중이기 때문에.
# 우리는 nginx를 run 할 때 -d 명령어로 백그라운드에서 실행되게 만들었다.
# 그렇기 때문에 이미지 삭제가 되지 않는 것
- --force 명령어로 삭제 가능
docker image rm nginx:latest --force
# 그러나 일반적으로 사용중인 이미지는 지우지 않는다.
- 사용중이지 않는 이미지를 전부 제거해보자.
docker image prune
docker image prune -a
'DevOps > Docker' 카테고리의 다른 글
[Docker] Dockerfile을 사용한 구성 관리 (0) | 2021.09.16 |
---|---|
[Docker] Container 생성, 시작 및 정지 (0) | 2021.09.16 |
[Docker] 웹 서버 작동해보기 (0) | 2021.09.13 |
[Docker] Docker 설치 (0) | 2021.09.13 |
[Docker] Docker의 개요 (0) | 2021.09.13 |