본문 바로가기

별걸다하는 IT/기타IT

[docker 도커] 이미지 검색하고 내려받는 명령어 사용법 (search와 pull의 기초)

반응형

안녕하세요~~

저번 포스팅에서 레지스트리, 이미지, 컨테이너가 무엇인지에 대해 알아봤는데요.

혹시 아직 세 가지 개념이 잡히지 않은 분은 아래 포스팅을 참고해주세요

▶ 도커 기본 용어 설명: 2022.02.21 - [별걸다하는 IT/기타IT] - [도커 docker] 이미지, 컨테이너, 레지스트리란 무엇인가

 

오늘은 레지스트리와 이미지에 관한 기본적인 명령어 사용법에 대해 알아볼거예요.

 

SEARCH 레지스트리로부터 이미지 검색하는 명령어

■ SEARCH

개발을 하려면 일단 뭐든 필요한 이미지를 다운로드 받아야겠죠?

DB가 필요하면 MariaDB나 오라클이나 phyadmin 같은걸 사용할 수 있겠죠.

근데 문득, 아 혹시 MySQL도 지원하나? 이미지를 다운로드 받을 수 있는지 검색좀 해봐야겠다 할 수 있죠??

이 때 사용하는 키워드가 search입니다.

 

이전 포스팅에서 언급했듯 물론 hub.docker.com 사이트에 들어가서 검색해볼 수도 있지만, 오늘은 명령어를 사용해볼거예요.

 

[기본 명령어]

sudo docker search 이미지이름;
sudo docker search ubuntu;
sudo docker search tomcat;
sudo docker search nginx;
sudo docker search mysql;

기본적인 명령어는 이와 같습니다.

참고로 관리자 계정일 경우 앞의 sudo명령어는 빼도 돼요.

마지막 명령어의 경우 mysql 이미지가 있는지 검색해보는 명령어인거죠.

그런데 이미지는 유저가 등록할 수도 있기 때문에 결과가 많아서,, 단순히 이렇게 치면 찾기 좀 복잡할 수 있어요.

 

[SEARCH 결과 개수]

별도의 옵션을 주지 않으면 최대 25개가 검색 결과로 나옵니다. 저기 디폴트 25 써져있는거 보이시죠??

더 많이 또는 더 적게 보고 싶으면 limit로 결과로 보여질 개수를 지정해주면 돼요.

--limit 옵션을 5로만 주고 검색해봤더니, 5개만 뜨네요. 굳~!

 

[공식 이미지만 검색]

sudo docker search --filter is-official=true mysql

만약 사용자가 올린 이미지가 아닌, offical 공식 이미지만 검색하고 싶으면 필터로 is-official 조건을 추가해주면 됩니다.

공식적인 이미지를 보기 싫다면 true 대신 false를 넣어주면 되겠죠?

저기 NAME 부분이 현재 레지스트리에 등록된 공식 이미지명이예요

또한 필터 조건에 의해 OFFICIAL부분에 OK라고 되어있는 것만 검색된 것을 확인할 수 있습니다. 

 

[추천수가 많은 이미지 검색]

이 외에도 사람들이 많이 추천한 이미지만 골라 볼 수 있는데요.

 

sudo docker search --filter stars=[최소추천개수] mysql;

검색했을 때 보이는 STARS 컬럼항목이 추천수예요.

추천수가 최소 30개 이상인 것들만 검색해보도록 쳐봤어요 ㅎㅎ

가장 인기많은 별을 얻은 이미지가 mysql/mysql-server네요 무려 907개!

참고로 마지막 컬럼명에 보이는 AUTOMATED는 자동화빌드설정 여부입니다.

 

sudo docker search --filter is-automated=true --filter starts=20 mysql

다중 조건을 걸고 싶을 경우 --filter부분을 여러번 쳐주면 돼요.

 

PULL 레지스트리로부터 이미지 다운로드

■ PULL

레지스트리에서 이미지를 다운로드 받을 때에는 PULL이라는 명령어를 사용합니다.

깃헙에서도 뭔가 내려받을 때 pull 명령어 쓰고, 올릴 때 push 쓰잖아요. 의미는 거의 유사해요~!

내가 만들어놓은 이미지를 올리고 싶을 때에는 push를 쓰고, 만들어진 이미지를 내려받고 싶을 때에는 pull을 씁니다

 

sudo docker search mysql;
sudo docker pull mysql;

 

위 명령어는 mysql이 레지스트리에 등록된게 있는지 확인 한 후에,

mysql이라는 이미지를 PULL! 내려받는 명령어예요.

명령어를 치면 이렇게 쭉 진행됩니다. 그냥 기다리면 알아서 완료돼요. 

mysql 설치하는게 이렇게 쉽다니..!!!!

도커의 큰 강점이죠. 설치가 넘나 간편해요.

 

[내려받은 이미지 목록 확인]

이미지 설치가 잘 되었나~ 확인하고 싶고

내가 이 이미지를 내려받았던가? 내가 어떤 이미지들을 갖고 있지? 등 이미지 목록이 궁금할 수 있죠.

 

sudo docker images;

그럴때는 단순하게 docker images만 쳐주면 됩니다.

방금 내려받은 mysql 이미지를 확인할 수 있습니다.

이 명령어로 언제 생성되었는지, 이 이미지ID는 뭔지 여기서 확인할 수 있어요.

 

■ PUSH

오늘은 간단하게 search와 pull 명령어에 대해 알아봤는데요.

오늘 우리가 필요한 이미지를 검색해서 다운받았듯 (PULL)

반대로 이미지를 만들어서 레지스트리(저장소)에 올릴수도 있습니다. (PUSH)

이건 추후 다른 포스팅에서 다뤄보도록 해요.

 

다음 포스팅은 컨테이너 개념을 포함시켜, run, create, start에 대해 작성해보려고 합니다.

도움이 되었다면 공감은 큰 힘이 됩니다.

반응형