다른 사람이 올려놓은 이미지를
내가 다운 받아서 사용하는 방법은?
이미지 다운로드하기
--
다른 사람이 올려놓은 이미지를 다운로드하는 명령어 형식
docker pull {다운받을 레포지토리/다운받을 이미지명[:태그]}
명령어 설명
pull | 도커 클라이언트에 존재하는 도커 레지스트리에서 이미지를 다운받는 명령어 |
다운받을 레포지토리 | Docker Hub의 특정 사용자나 조직의 레포지토리를 가리킨다. |
다운받을 이미지명 | 다운받을 레포지토리에 저장된 특정 애플리케이션(이미지)를 가리킨다. |
:태그 | 이미지의 특정 태그(버전)를 다운받을 때 작성한다. 생략을 하면 기본적으로 "latest" 태그(버전)이 있는 이미지를 다운로드한다. (최신 이미지) |
기본적으로 이미지를 다운로드할 때
Docker Hub에서 이미지를 가져오도록 설정되어 있다.
다만 다른 레지스트리에서도 이미지를 가져올 수도 있다.
testrepo라는 레포지토리에 담긴 testapp라는 이미지를 다운로드하는 명령어
(testapp 애플리케이션은 Env에 있는 COLOR의 값에 따라 특정 색상의 웹페이지를 응답하는 애플리케이션이다.)
docker pull testrepo/testapp
다운로드한 이미지 메타데이터의 Cmd와 Env를 확인해 보자.
docker image inspect testrepo/testapp
Env(환경변수)에 COLOR의 값이 red로 되어있는 것을 확인할 수 있다.
--
Env를 수정 안 한 버전과 수정한 버전을 실행시켜 보자.
--
다운로드한 이미지를 컨테이너로 실행시키는 명령어
docker run -d -p 8080:3000 --name defaultColorApp testrepo/testapp
다운받은 이미지를 컨테이너로 실행시킬 때 Env의 COLOR의 값을 blue로 변경하고 실행시키는 명령어
docker run -d -p 8081:3000 --name blueColorApp --env COLOR=blue testrepo/testapp
옵션 설명
-p | port(포트)의 약어로 포트를 지정해줄 때 사용하는 옵션이다. |
8080:3000 | -p 옵션 뒤에 작성하는 포트 설정으로 호스트의 8080번 포트를 컨테이너의 3000번 포트와 연결을 시켜준다. 즉, 로컬 머신의 8080번 포트로 접근하면 컨테이너 내부의 3000번 포트에서 실행 중인 애플리케이션에 접근 가능 |
결과를 확인하기 위해
브라우저에서 8080포트와 8081포트에 접속해 보자.
--
참고 및 출처
'Docker' 카테고리의 다른 글
이미지 레지스트리 (feat. Docker Hub) (0) | 2024.06.15 |
---|---|
컨테이너의 Lifecycle(생명주기) 정리 (+명령어) (0) | 2024.06.14 |
이미지를 컨테이너로 실행할 때 이미지의 메타데이터 Env와 Cmd 덮어씌우기 (명령어) (0) | 2024.06.12 |
이미지 및 컨테이너의 메타데이터를 조회 (명령어) (0) | 2024.06.11 |
이미지의 메타데이터(Metadata)란? (0) | 2024.06.10 |