Etc/Container

[docker 기초] docker 이미지 알아보기

체리1001 2022. 5. 3.

Docker 공식 리포지토리인 Docker Hub에서 이미지를 취득하는 방법에 대해 알아보자.

0. Docker Hub

Docker Hub는 GitHub이나 Bitbucket 같은 소스코드 관리 툴과 연계하여 코드를 빌드하는 기능이나 실행 가능한 애플리케이션의 이미지를 관리하는 기능을 갖춘 Docker의 공식 리포지토리 서비스이다.

Docker Hub를 이용하면 물리 서버, 가상 머신, 클라우드 등 다양한 환경에서 Docker 이미지를 쉽게 배포할 수 있다.

 

Docker Hub에는 다양한 공식 이미지 뿐만 아니라 사용자가 독자적으로 생성한 이미지를 공개할 수도 있다.

https://hub.docker.com/

 

Docker Hub Container Image Library | App Containerization

Build and Ship any Application Anywhere Docker Hub is the world's easiest way to create, manage, and deliver your team's container applications.

hub.docker.com

 

1. 도커 이미지 다운로드 (docker image pull)

도커 이미지를 다운받기 위해서는 docker image pull 명령을 사용한다.

docker image pull [옵션] 이미지명[:태그명]

태그명을 생략하면 최신판(latest)으로 다운로드가 진행된다.

 

이미지명에는 이미지를 취득할 url을 지정할 수도 있다. (프로토콜을 제외하고 입력)

아래 명령을 통해 Tensorflow의 Docker 이미지를 'https://gcr.io.tensorflow/tensorflow'로부터 취득할 수 있다.

docker image pull gcr.io.tensorflow/tensorflow
옵션 설명
--all-tags , -a 모든 태그 다운
--disable-content-trust 이미지 확인 건너뛰기
--platform 서버가 다중 플랫폼을 지원할 경우 플랫폼 설정

 

2. 이미지 목록 표시 (docker image ls)

취득한 이미지의 목록을 보고싶으면 docker image ls 명령을 사용하면 된다.

docker image ls [옵션] [리포지토리명]
옵션 설명
-all, -a 모든 이미지 표시
--digests 다이제스트를 표시
(이미지를 고유하게 식별하기 위해 부여된 다이제스트를 표시 하고싶을 때)
--no-trunc 결과를 모두 표시
--quiet, -q Docker 이미지 ID만 표시

 

3. 이미지 상세 정보 확인 (docker image inspect)

이미지의 상세 정보를 확인하고 싶으면 docker image inspect 명령을 사용하면 된다.

docker image inspect [옵션] 이미지명

명령을 실행하면 이미지의 상세 정보가 표시된다. 

이미지 ID, 작성일, Docker 버전, CPU 아키텍처 등 결과가 JSON 형식으로 표시된다.

-f 옵션을 사용해서 원하는 값을 지정해줄 수 있다.

 

4. 이미지 검색 (docker search)

Docker Hub에 공개되어 있는 이미지를 검색할 때는 docker search 명령을 사용하면 된다.

docker search [옵션] <검색 키워드>
옵션 설명
--no-trunc 결과를 모두 표시
--limit n 건의 검색 결과를 표시
--filter=stars=n 즐겨찾기의 수를 지정 (n 이상)

[STARS]의 수가 많으면 많을수록 인기 있는 Docker 이미지이다.

Docker Hub에 공개되어 있는 이미지라고 해서 모두 안전한 것은 아니니 Docker 이미지를 사용할 때에는 공식 이미지이거나 Dockerfile이 제대로 공개되어 있는 것을 선택하여 사용하는 것이 좋다.

 

 

5. 이미지 삭제 (docker image rm)

작성한 이미지를 삭제하기 위해서는 docker image rm 명령어를 사용하면 된다.

docker image run [옵션] 이미지명
옵션 설명
--force, -f 이미지를 강제로 삭제
--no-prune 중간 이미지를 삭제하지 않음

이미지명은 [REPOSITORY] 혹은 [IMGAE ID]를 지정해준다.

여러 개의 이미지를 삭제하고 싶으면 여러 이미지명을 스페이스로 구분하여 지정해주면 된다.

 

 

6. 사용하지 않는 이미지 삭제 (docker image prune)

사용하지 않는 이미지를 삭제할 때에는 docker image prune 명령을 사용하면 된다.

docker image prune [옵션]
옵션 설명
--all, -a 사용하지 않은 이미지 모두 삭제
--force, -f 이미지 강제 삭제

사용하지 않은 Docker 이미지는 디스크 용량을 쓸데없이 차지하기 때문에 정기적으로 삭제해주는 것이 좋다.

 

 

7. 이미지 업로드 (docker image push)

Docker Hub에 이미지를 업로드하려면 우선 docker login 명령을 사용하여 로그인해야 한다.

docker login [옵션] [서버]
옵션 설명
--password, -p 비밀번호
--username, -u 사용자명

옵션을 지정하지 않으면 사용자명과 비밀번호를 물어보므로 Docker Hub에 등록한 계정을 지정해주면 된다.

 

로그인을 한 뒤에 docker image push 명령을 사용해 이미지를 업로드할 수 있다.

docker image push 이미지명[:태그명]

 

참고: 완벽한 인프라 구축을 위한 Docker 

Docker 공식 문서

'Etc > Container' 카테고리의 다른 글

[docker 기초] Nginx 웹 서버 작동시키기  (0) 2022.05.02

댓글