June 17, 2019

Docker 사용 - search

Docker Search

Docker Image는 도커 허브에 공개되어 있는 이미지를 검색 및 다운로드 할 수 있다. 검색은 Docker Hub를 통해 먼저 알아보도록 하자.

[https://hub.docker.com/] 위 사이트에 접속해보자!!

[Ubuntu Search]

먼저 도커 허브에서 "Ubuntu" 를 검색해본 결과 자세한 내용이 적혀 있다.



[Tag]

도커 허브의 Tag 부분을 보면 OS 베이스가 되는 버전이 적혀 있다.
Docker 이미지 지정은 아래와 같다.

<이미지명>:<태그명>

즉, 위 우분투의 16.04 버전의 이미지를 다운로드 받고 싶다면

ubuntu:16.04

로 지정해야 한다. 또한 태그명에 "latest"가 지정될 수 있는데. 이는 리포지토리에 공개되어 있는 최신판 이미지를 뜻 한다.

꼭 본인이 맞는 버전을 설치하고자 한다면 태그를 넣어 다운로드 하자!!




그럼 Docker에서 search 명령을 사용해보자.

docker search <옵션> <키워드>

사용할 수 있는 옵션은 아래와 같다.

dongdonge@dongdonge$ sudo docker search --help

Usage:  docker search [OPTIONS] TERM

Search the Docker Hub for images

Options:
  -f, --filter filter   Filter output based on conditions provided
      --format string   Pretty-print search using a Go template
      --limit int       Max number of search results (default 25)
      --no-trunc        Don't truncate output

  • --filter <필터>

조건을 주어, 조건에 따라 필터 한다.

  • --format <문자열>

Go 템플릿을 사용하여 포맷 검색

  • -limit <숫자>

숫자 N만큼 검색 결과 출력

  • --no-trunc

검색 결과 모두 출력

dongdonge@dongdonge$ sudo docker search ubuntu

NAME                                                      DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
ubuntu                                                    Ubuntu is a Debian-based Linux operating sys…   9638                [OK]
dorowu/ubuntu-desktop-lxde-vnc                            Docker image to provide HTML5 VNC interface …   308                                     [OK]
rastasheep/ubuntu-sshd                                    Dockerized SSH service, built on top of offi…   221                                     [OK]
consol/ubuntu-xfce-vnc                                    Ubuntu container with "headless" VNC session…   179                                     [OK]
ubuntu-upstart                                            Upstart is an event-based replacement for th…   99                  [OK]
ansible/ubuntu14.04-ansible                               Ubuntu 14.04 LTS with ansible                   97                                      [OK]
1and1internet/ubuntu-16-nginx-php-phpmyadmin-mysql-5      ubuntu-16-nginx-php-phpmyadmin-mysql-5          50                                      [OK]
ubuntu-debootstrap                                        debootstrap --variant=minbase --components=m…   40                  [OK]
i386/ubuntu                                               Ubuntu is a Debian-based Linux operating sys…   18
1and1internet/ubuntu-16-apache-php-5.6                    ubuntu-16-apache-php-5.6                        14                                      [OK]

해당 명령어를 통해 "ubuntu"를 검색한 장면이다. 명령 결과 여러가지가 나온걸 볼 수 있으나, 하나씩 알아보자.

1. NAME

이미지 이름

2. DESCRIPTION

이미지 설명

3. STARS

도커 허브에서 즐겨찾기 수

4. OFFICIAL

공식 이미지 여부, 공식일 경우 [OK] 단어가 붙음

5. AUTOMATED

Dockerfile을 바탕으로 자동 제작된 이미지인지 여부

Docker 이미지는 Docker Hub에 사용자가 임의로 이미지를 공개할 수 있다. 물론 공개가 자유롭기 때문에 악성코드 및 유출에 대해 조심해야 한다. Docker의 이미지의 이름은 고유하기에 "사용자명/이미지명"으로 이름이 붙는다. 하지만 Ubuntu, CentOS 같이 공식 이미지는 사용자명을 갖지 않는 경우가 있다.