CodeGym /행동 /Docker SELF /Docker Hub 작업하기

Docker Hub 작업하기

Docker SELF
레벨 12 , 레슨 3
사용 가능

9.1 Docker Hub와 다시 만나기

Docker Hub와 다시 한번 가까이 만나보자. 일단, Docker Hub는 주요 공개 Docker 레지스트리로, 사용자가 컨테이너 이미지를 저장하고, 공유하며, 검색할 수 있는 곳이야. 이 플랫폼은 공식 조직과 커뮤니티에서 만든 수백만 개의 컨테이너에 접근할 수 있는 기능을 제공해. 이번 강의에서는 Docker Hub에서 이미 만들어진 이미지를 효과적으로 검색하고 다운로드하는 방법에 대해 알아볼 거야.

Docker Hub 서비스의 주요 작업들

Docker Hub는 이미지를 중앙 집중식 스토리지에 업로드하고 거기서 가져올 수 있도록 하는 클라우드 서비스야. 이 서비스는 개발자가 자신들의 이미지를 공유하거나 다른 사용자의 솔루션을 사용할 수 있는 장소로 기능해. Docker Hub의 주요 기능은 다음을 포함해:

  1. 공개 및 비공개 저장소: 모든 사용자가 접근할 수 있는 공개 접근 저장소와 특정 사용자들만 접근 가능한 제한된 접근 저장소를 사용할 수 있어.
  2. 자동 빌드 (automated builds): GitHub 같은 버전 관리 시스템과의 통합을 통해 코드가 변경될 때마다 이미지를 자동으로 빌드할 수 있어.
  3. 웹훅 (webhooks): 이미지가 업데이트될 때 실행되는 자동 작업의 구성을 설정할 수 있어.

9.2 준비된 이미지 검색

1. Docker Hub 웹 인터페이스 사용하기

  1. Docker Hub로 이동: 브라우저에서 Docker Hub 열기.
  2. 이미지 검색: 검색창에 이미지 이름이나 프로젝트 관련 키워드 입력. 예를 들어 Nginx 이미지를 찾으려면 "nginx"를 입력하고 Enter 누르기.
  3. 결과 보기: 검색 결과에 적합한 이미지가 표시됨. 공식 이미지는 "Official"로 표시되며 Docker나 관련 조직에서 지원됨. 다른 사용자 이미지는 사용자나 조직 이름이 표시됨.
  4. 이미지 선택: 관심 있는 이미지를 클릭하고 설명, 사용 가능한 태그, 사용법 가이드 및 기타 유용한 정보 확인.

2. 커맨드 라인을 통해 이미지 검색하기

Docker는 또한 docker search 명령을 사용하여 커맨드 라인에서 직접 이미지를 검색할 수 있음.

명령 예제:

Terminal


docker search nginx

이 명령은 이름이나 설명에 nginx가 포함된 이미지 목록을 출력함. 출력에는 이미지 이름, 설명, 별점(평가), 공식 상태 표시 및 자동 빌드 정보가 포함됨.

출력 예제:

Terminal


NAME                           DESCRIPTION                                       STARS     OFFICIAL   AUTOMATED
nginx                          Official build of Nginx.                          13764     [OK]
jwilder/nginx-proxy            Automated Nginx reverse proxy for...             2135                [OK]
richarvey/nginx-php-fpm        Container running Nginx + PHP-FPM...             819                 [OK]

9.3 이미지 다운로드

필요한 이미지를 찾은 후에는 docker pull 명령어를 사용해서 로컬 머신으로 이미지를 다운로드할 수 있어.

1. 특정 이미지 다운로드

특정 이미지를 다운로드하려면 아래의 문법을 사용해:


docker pull [OPTIONS] NAME[:TAG|@DIGEST]

여기서:

  • NAME: 이미지 이름.
  • TAG: (옵션) 이미지 태그. 다른 태그를 지정하지 않으면 기본적으로 latest 태그가 사용돼.
  • @DIGEST: (옵션) 이미지의 SHA256 식별자.

이미지 다운로드 예제:

이 예제는 nginx의 최신(latest) 이미지를 다운로드할 거야.

Terminal


docker pull nginx:latest

2. 특정 태그의 이미지 다운로드

특정 이미지 태그가 필요하다면, 콜론 이후에 태그를 지정해. 이 예제는 Ubuntu 버전 20.04 이미지를 다운로드할 거야.

Terminal

docker pull ubuntu:20.04

3. 다운로드한 이미지 확인

이미지를 다운로드한 이후, docker images 명령어를 사용해서 로컬 머신에서 어떤 이미지를 가지고 있는지 확인할 수 있어.

명령어 예제:

이 명령어의 출력은 모든 다운로드된 이미지들의 목록을 보여줄 거야. 여기에는 리포지토리, 태그, 이미지 식별자, 생성 날짜, 크기가 포함돼.

Terminal


docker images

9.4 준비된 이미지 사용 예시

1. Nginx 웹 서버 실행

Nginx 이미지를 다운로드한 후에는 이를 기반으로 컨테이너를 빠르게 실행할 수 있어.

예시:

이 예시는 Nginx 컨테이너를 백그라운드에서 실행하고, 컨테이너의 80번 포트를 호스트 머신의 8080번 포트로 리다이렉션해. 이제 브라우저를 열고 http://localhost:8080을 입력해서 Nginx 웹 서버에 접근할 수 있어.

Terminal

docker run -d -p 8080:80 nginx

2. MySQL 데이터베이스 실행

Docker Hub는 MySQL 같은 데이터베이스의 준비된 이미지를 제공하니까, 개발 및 테스트 목적으로 데이터베이스를 쉽게 배포할 수 있어.

예시:

이 예시는 MySQL 컨테이너를 실행하고 root 사용자의 비밀번호를 설정하며, 컨테이너의 3306번 포트를 호스트 머신의 3306번 포트로 리다이렉션해.

Terminal

docker run -d -p 3306:3306 --name my_mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql:latest

3. 캐싱을 위한 Redis 이미지 사용

Redis는 인기 있는 캐싱 시스템으로, Docker Hub에서 제공하는 준비된 Redis 이미지를 사용해 빠르게 배포할 수 있어.

예시:

이 예시는 Redis 컨테이너를 실행하고, 컨테이너의 6379번 포트를 호스트 머신의 6379번 포트로 리다이렉션해.

Terminal

docker run -d -p 6379:6379 --name my_redis redis:latest
1
Опрос
컨테이너 리소스 관리,  12 уровень,  3 лекция
недоступен
컨테이너 리소스 관리
컨테이너 리소스 관리
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION