본 글은 https://qiita.com/zembutsu/items/24558f9d0d254e33088f 의 번역본 이며, 글 내용에 대한 권리는 원작자에게 있습니다.

2) hello-world 이미지 다운로드 (pull)
도커 이미지를 사용하는데 있어서 도커 허브 등에서 docker pull커맨드로 다운로드 하던가, docker build 커맨드를 사용해 스스로 작성(빌드) 합니다.
도커 허브란 공식 도커 이미지를 포함해, 다양한 도커 이미지가 공개 혹은 공유 되거나 공동작성(콜라보레이션) 하기위한 장소입니다. (누구나 이용 가능하므로, 도커 이미지의 공개 레지스트리 라고 부릅니다) 깃허브가 소스코드를 공유하거나 공동작성 하는게 가능하는것과 비슷한 기능 및 역할을 하고 있습니다.
이 도커 허브에서 hello-world 라는 이름의 도커 이미지를 다운로드 합니다. 이 이미지는 C언어로쓰여진 hello 라는 이름을 설명용 문자를 표시하기 위한 바이너리가 들어가 있습니다.
다운로드는 docker pull hello-world 를 실행하도록 합시다.
1 | $ docker pull hello-world |
표시되어있는 메세지내용을 위에서부터 순서대로 읽어 내려가겠습니다.
- Using default tag: latest
도커 이미지는"태그"이라고하는 개념이 있습니다. 주로 버전을 표기하기 위해 이용되는 경우가 많습니다. 하나의 이미지에 대해, 복수의 "태그"을 나눠서 할당 하는것이 가능 합니다.
docker pull <이미지명>:<태그명>이 공식적인 서식 입니다만, 댑을 생략하면 자동적으로 lastest가 적용됩니다.
즉 docker pull hello-wrold는 docker-pull hello-wrold:latest 와 똑같습니다.
- latest: Pullin g from library/hello-world
hellow-wolrd의 전에 library/ 라는 이름공간(디렉토리명) 이 자동적으로 부여되어 있습니다. 이 library는 docker 공식 이미지 전용 이름공간(역자 - 네임스페이스) 입니다.
docker pull 등 실행시, 이름공간(역자 - 네임스페이스) 의 지정이 없으면, 디폴트로 공식 이미지의 이미지를 취득합니다.
- 0e03bdcc26d7: Pull complete
도커 허브 상에 있는 이미지 · 레이어 0e03bdcc26d7 의 다운로드 상황이 완료되었습니다.
hello-world 는 하나의 레이어입니다만, 이미지에따라 복수의 레이어로 구성 되어 있습니다.
- Digest: sha256:d58e752213a51785838f9eed2b7a498ffa1cb3aa7f946dda11af39286c3db9a9
이 hello-world 이미지 (정확히는, hello-world:latest의 태그를 가진 이미지 · 레이어)의 해쉬식(역자 - 해쉬코드?) 입니다.
내용물이 같다면 태그가 변하더래도 이 해쉬식(역자 - 해쉬코드?) 은바뀌지 않습니다.
다운로드는 태그 지정뿐만 아니라 docker pull sha256:해쉬식의 지정도 가능합니다.
- Status: Downloaded newer image for hello-world:latest
hello-world:latest의 최신 이미지 다운로드 완료했다는 상태를 표시하고 있습니다.
- docker.io/library/hello-world:latest
최종적으로 다운로드가 완료된 이미지의 정보입니다.
docker.io는 레지스트리 docker hub, 이름공간(이미지를 격납하는 레지스트리)은 library (공식 레지스트리), 그 중 hello-world 이미지의, 태그명 latest (최신)을 다운로드 (pull) 했습니다.

이렇듯이, docker pull 커맨드를 실행하는 것만으로, 이런저런 처리가 이루어지며 그 경과는 화면상에 표시되어있는지 아닌지에 따라 알 수 있습니다.

덧글