1 개요[ | ]
- curl로 docker pull하기
- curl로 docker image 다운로드하기
2 사전작업[ | ]
로컬 레지스트리 구동
Console
Copy
testuser@localhost:~$ sudo mkdir -p /data
testuser@localhost:~$ docker run -d --name=registry -p 5000:5000 -v /data:/var/lib/registry registry:latest
...
Status: Downloaded newer image for registry:latest
테스트용 이미지 푸시
Console
Copy
testuser@localhost:~$ docker pull docker.io/bash:latest
...
testuser@localhost:~$ docker tag docker.io/bash:latest localhost:5000/bash:latest
testuser@localhost:~$ docker push localhost:5000/bash:latest
The push refers to repository [localhost:5000/bash]
650864124fb4: Pushed
0f9d26f2773f: Pushed
34d5ebaa5410: Pushed
latest: digest: sha256:455b3939918fed2ed3359570ed8d049dfbfd2174dd6a9be29103dcb705bc1f94 size: 946
3 manifest 다운로드[ | ]
Console
Copy
testuser@localhost:~$ curl -s localhost:5000/v2/bash/manifests/latest -H "Accept: application/vnd.docker.distribution.manifest.v2+json" > manifest.json
testuser@localhost:~$ cat manifest.json
{
"schemaVersion": 2,
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"config": {
"mediaType": "application/vnd.docker.container.image.v1+json",
"size": 5706,
"digest": "sha256:58c36729bafd73cc87ba991868f12d21b42a8dce20e6037e2ec642d66f1fe4f1"
},
"layers": [
{
"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 2823512,
"digest": "sha256:9621f1afde84053b2f9b6ff34fc7f7460712247c01cbab483c5fa7132cf782ca"
},
{
"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 2625009,
"digest": "sha256:036cbbed31189b3686b98872d55d31c74ce571df257b35a751f7ed460235c609"
},
{
"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 337,
"digest": "sha256:26d0ad845f0ca19daaf4c78a17c58b45be9ed42209ca9cecd6d9b4a5dee06eaa"
}
]
}