가상화 및 서브 PC 활용

도커 허브(Docker Hub) 이미지 다운로드 및 컨테이너 생성 단계별 안내

content59998 2026. 10. 26. 16:22

컨테이너 기반 가상화 플랫폼인 도커(Docker)를 활용할 때 가장 핵심이 되는 작업은 필요한 소프트웨어 환경이 담긴 이미지를 확보하고 이를 실행 가능한 컨테이너로 변환하는 것입니다. 도커 허브(Docker Hub)는 전 세계 개발자들이 작성한 공식 및 비공식 도커 이미지를 공유하고 저장하는 최대 규모의 중앙 레지스트리(Registry)입니다.

도커 허브에 등록된 안전한 공식 이미지를 다운로드하여 원하는 설정으로 컨테이너를 생성하는 프로세스를 완벽히 이해하면, 웹 서버, 데이터베이스, 개발 환경 등을 단 몇 초 만에 구축할 수 있습니다.

본 글에서는 도커 허브에서 최적의 이미지를 검색하고 다운로드하는 방법부터, 이를 기반으로 실행 가능한 컨테이너를 생성하고 검증하는 전체 과정을 단계별로 상세히 알아 보겠습니다.

1. 도커 허브(Docker Hub) 이미지 검색 및 준비 단계

도커 허브에서 이미지를 받아오기 전에, 필요한 애플리케이션의 공식 이미지가 존재하는지 확인하고 태그(Tag) 버전을 정확히 파악하는 것이 중요합니다.

[이미지: 도커 허브 웹사이트 검색창에서 공식 이미지 목록과 태그 정보를 확인하는 화면]

이미지 탐색 및 준비 단계는 다음과 같이 진행됩니다.

  • 도커 허브 웹사이트 접속: 브라우저를 열고 도커 허브 공식 웹사이트에 접속하여 검색창에 원하는 소프트웨어 이름(예: nginx, mysql, ubuntu)을 입력합니다.
  • 공식 이미지(Official Image) 확인: 검색 결과 중 'Docker Official Image' 배지가 붙은 이미지를 선택하는 것이 좋습니다. 공식 이미지는 도커 팀과 해당 오픈소스 주체에 의해 주기적으로 보안 업데이트 및 관리가 이루어지므로 가장 안전합니다.
  • 이미지 태그(Tag) 선택:
    • latest: 가장 최신의 안정화 버전을 의미합니다.
    • 특정 버전(예: 1.25.0, 22.04): 개발 및 운영 환경의 버전 고정성이 필요한 경우 명시적인 버전 태그를 지정하여 다운로드합니다.
  • 터미널에서의 이미지 검색 (docker search):
    • 웹 접속 없이 터미널 명령 줄에서도 이미지를 바로 검색할 수 있습니다.
    • 사용 명령어: docker search nginx
    •  

2. 도커 이미지 다운로드 (docker pull) 명령어 활용법

원하는 이미지를 찾았다면, 터미널 명령어를 통해 도커 허브로부터 로컬 컴퓨터 저장소로 이미지를 가져오는 작업을 수행합니다.

이미지 다운로드 실행

터미널(Windows PowerShell, CMD 또는 Linux 터미널)을 열고 docker pull 명령어를 입력합니다.

  1. 기본 다운로드 (latest 태그):
    • docker pull nginx (태그를 명시하지 않으면 자동으로 최신 latest 버전을 다운로드합니다.)
  2. 특정 버전 다운로드:
    • docker pull ubuntu:22.04 (우분투 22.04 버전 이미지를 다운로드합니다.)

로컬 이미지 목록 확인 및 관리

다운로드가 완료되면 내 컴퓨터의 도커 엔진에 정상적으로 저장되었는지 확인합니다.

  • 저장된 이미지 목록 조회: docker images 명령어를 입력하여 다운로드된 이미지의 이름(REPOSITORY), 태그(TAG), 이미지 ID(IMAGE ID), 용량(SIZE) 정보를 조회합니다.
  • 불필요한 이미지 삭제: 더 이상 사용하지 않는 이미지는 docker rmi [이미지이름:태그] 또는 docker rmi [이미지ID] 명령어로 완전히 제거하여 디스크 공간을 확보할 수 있습니다.

3. 다운로드한 이미지로 컨테이너 생성 및 실행 (docker run)

다운로드된 도커 이미지를 기반으로 실제 격리된 가상 공간인 컨테이너(Container)를 생성하고 실행하는 실전 단계입니다.

[이미지: 터미널에서 docker run 명령어를 실행하여 웹 서버 컨테이너를 구동하고 실행 상태를 확인하는 화면]

docker run 명령어 하나로 컨테이너 생성과 시작을 동시에 처리하며, 주요 파라미터 옵션을 함께 부여하여 설정합니다.

핵심 실행 옵션 설명

  • -d (Detached 모드): 컨테이너를 백그라운드 프로세스로 실행하여 터미널 창을 계속 사용할 수 있게 합니다.
  • -p (Port Mapping): [호스트 포트]:[컨테이너 내부 포트] 형태로 포트를 연결합니다. 예를 들어 -p 8080:80으로 설정하면 내 컴퓨터의 8080 포트로 접속했을 때 컨테이너 내부 80 포트로 신호가 전달됩니다.
  • --name (컨테이너 이름 지정): 가독성을 위해 식별하기 쉬운 고유 이름을 직접 지정합니다.

실전 컨테이너 생성 단계별 명령어

  1. Nginx 웹 서버 컨테이너 생성 및 실행:
    • docker run -d -p 8080:80 --name my-web-server nginx
    •  
  2. 컨테이너 실행 상태 검증 (docker ps):
    • docker ps 명령어를 입력하여 생성된 컨테이너가 정상적으로 Up 상태로 작동 중인지 확인합니다.
  3. 웹 브라우저 접속 테스트:
    • 웹 브라우저 주소창에 http://localhost:8080을 입력하여 접속합니다. Nginx 기본 안내 페이지("Welcome to nginx!")가 화면에 나타나면 성공입니다.

자주 묻는 질문 (FAQ)

Q1. docker pull 과정을 거치지 않고 바로 docker run을 실행해도 되나요?

A1. 네, 문제없이 동작합니다. docker run 명령어를 실행하면 도커 엔진이 먼저 로컬 컴퓨터에 해당 이미지가 존재하는지 확인합니다. 로컬에 이미지가 없다면 자동으로 도커 허브에서 최신 이미지를 다운로드(pull)한 후 바로 컨테이너를 생성하여 실행합니다.

Q2. 도커 허브에서 비공개(Private) 이미지를 다운로드하려면 어떻게 해야 하나요?

A2. 비공개 저장소에 접근하기 위해서는 터미널에서 docker login 명령어를 먼저 실행해야 합니다. 도커 허브 사용자 아이디와 비밀번호(또는 Access Token)를 입력하여 인증을 완료하면 부여된 권한에 따라 비공개 이미지를 자유롭게 다운로드할 수 있습니다.

Q3. 생성된 컨테이너가 즉시 종료(Exited 상태)되는 현상은 왜 발생하나요?

A3. 도커 컨테이너는 내부에서 구동되는 메인 프로세스가 종료되면 컨테이너 자체도 자동으로 정지하도록 설계되어 있습니다. 대화형 포그라운드 프로세스가 없는 단순 OS 이미지(예: Ubuntu, CentOS 등)를 실행할 때에는 docker run -it ubuntu bash와 같이 -it 옵션을 함께 부여하여 상호작용 터미널을 유지해야 정지되지 않습니다.

결론

도커 허브는 수많은 검증된 애플리케이션 환경을 완제품 형태로 제공하므로, 개발 및 운영 효율성을 극대화해 주는 필수 리소스 플랫폼입니다.

이미지 검색부터 docker pull을 통한 다운로드, 그리고 docker run 명령어의 핵심 옵션(-d, -p, --name)을 조합하여 실행 가능한 컨테이너로 변환하는 기본 흐름을 체득해 두면, 향후 복잡한 인프라 구축도 간편하게 처리할 수 있습니다.

본 안내서의 단계를 따라 직접 원하는 소프트웨어의 이미지를 받아 컨테이너를 구동해 보시면서 도커의 편리한 가상화 환경을 경험해 보시기 바랍니다.