땃쥐네

[Docker] 도커 허브에서 이미지를 가져와 실행하기 본문

DevOps/Docker

[Docker] 도커 허브에서 이미지를 가져와 실행하기

ttasjwi 2022. 12. 4. 16:46

도커에서는 공식적으로 공개 이미지 저장소 '도커 허브'를 제공한다.

이번 글에서는 도커 허브에 올라온 공개 이미지를 활용하여 우리 로컬 환경에서 애플리케이션을 실행해볼 것이다.


1. 도커 허브에서 원하는 애플리케이션을 찾는 방법

- 도커 허브 검색 페이지에서 찾기

- docker search 명령어로 찾기


2. 도커 허브 검색 페이지에서 찾기

https://hub.docker.com/search 에 접속하면 다양한 공개 이미지들이 제공되고 있는데, 이 사이트에서 원하는 이미지를 검색하여 사용하면 된다. 예를 들어 ubuntu 이미지를 클릭하여 들어가보면 다양한 버전의 우분투 이미지들이 제공되는 것을 확인할 수 있고 docker pull 명령어를 통해 이미지를 우리의 로컬 환경으로 가져올 수 있도록 안내해주고 있다.

 


3. docker search 명령어로 찾기

docker search mongo
NAME                                                   DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mongo                                                  MongoDB document databases provide high avai…   9298      [OK]
mongo-express                                          Web-based MongoDB admin interface, written w…   1254      [OK]
bitnami/mongodb                                        Bitnami MongoDB Docker Image                    201                  [OK]
...

docker search 명령어를 사용하면 docker-hub에서 해당 이름을 가진 이미지를 검색한다.

 

  • 가급적 아무런 접두사가 없는 버전을 선택하는 것이 좋다.
    • 일반적으로 접두사가 없는 버전이 도커 허브에서 공식 이미지로, 안정적으로 관리된다.
    • 접두사가 붙은 버전은 오픈 소스 프로젝트로 관리되는 비공식 이미지인 경우가 대부분이다.
  • 참고로, 도커 허브에서는 수백만 개의 다양한 애플리케이션이 이미지로 올라와 있다.

4. 도커 허브에서 이미지를 가져와 바로 실행하기

docker run mongo
Unable to find image 'mongo:latest' locally
latest: Pulling from library/mongo
...
eaead16dc43b: Pull complete
8a00eb9f68a0: Pull complete
f683956749c5: Pull complete
b33b2f05ea20: Pull complete
...
0a5a5d2ec822: Pull complete
37200fef7cf6: Pull complete
Digest: sha256:8bed0be3e86595283d67836e8d4f3f08916184ea6f2aac7440bda496083ab0c8
Status: Downloaded newer image for mongo:latest
{"t":{"$date":"2022-11-30T08:14:29.107+00:00"},"s":"I",  "c":"NETWORK",  "id":4915701, "ctx":"main","msg":"Initialized wire specification","attr":{"spec":{"incomingExternalClient":{"minWireVersion":0,"maxWireVersion":17},"incomingInternalClient":{"minWireVersion":0,"maxWireVersion":17},"outgoing":{"minWireVersion":6,"maxWireVersion":17},"isInternalClient":true}}}
{"t":{"$date":"2022-11-30T08:14:29.108+00:00"},"s":"I",  "c":"CONTROL",  "id":23285,   "ctx":"main","msg":"Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'"}
...
  • 단순히 docker run 명령어를 입력했을 뿐인데 도커 허브에서 몽고 DB 이미지를 가져와 컨테이너를 띄우는데 성공했다.
  • 로컬에 mongo 이미지가 없으므로 도커 허브에서 mongo 이미지를 pull하고 실행하는 것을 확인할 수 있다. (아래에서 사용할 pull 명령을 통해 명시적으로 단계를 나눠주는게 더 좋다.)
  • 자세히 보면 이 이미지에는 필요한 모든 요소들이 포함되어 있는 것을 확인할 수 있다. 덕분에 사용자는 이미지에 포함되어 있는 의존성을 전혀 고려할 필요가 없다.

5. 도커 허브 레지스트리 관련 명령어

docker pull debian
docker pull debian:latest

- docker pull : 도커 허브 레지스트리에서 로컬로 도커 이미지 내려받기

- docker push : 로컬에 있는 도커 이미지를 도커 허브 레지스트리에 업로드한다.

- docker login : 업로드 하기 전, 도커 허브 계정으로 로그인을 수행(도커 데스크탑에서 로그인했다면 이 절차가 필요없다.)

- docker logout : 도커 허브에서 로그아웃 하기

 

이들 명령어의 상세한 사용법을 하나 하나 설명하면 글이 매우 길어질 우려가 있으므로 각 명령어 별로 도커의 공식 레퍼런스 링크를 걸도록 하겠다.


 

Comments