[root@p22295v zhangzhifei]# ls -lrt /var/lib/docker/
total 156
drwx--x--x 3 root root 4096 Dec 6 2018 containerd
drwx------ 4 root root 4096 Dec 6 2018 plugins
drwx------ 3 root root 4096 Dec 6 2018 image
drwx------ 2 root root 4096 Dec 6 2018 trust
drwxr-x--- 3 root root 4096 Dec 6 2018 network
drwx------ 2 root root 4096 Dec 6 2018 swarm
drwx------ 2 root root 4096 Dec 6 2018 builder
drwx------ 89 root root 12288 Jul 17 11:07 volumes
drwx------ 2 root root 4096 Jul 17 14:30 runtimes
drwx------ 2 root root 4096 Jul 23 12:51 tmp
drwx------ 758 root root 94208 Jul 29 19:12 overlay2
drwx------ 80 root root 12288 Jul 29 19:12 containers
我们运行个容器演示下:
[root@p22295v zhangzhifei]# docker run -it -d kraken-agent:dev
83555ad8c034682ad885fc9e320bfb1f8b75498b61a1a8684d738c411caa930b
启动一个容器,在/var/lib/docker/overlay2目录下生成一个容器视图层,目录包括diff,link,lower,merged,work。
diff记录每一层自己内容的数据,link记录该层链接目录(实际是l目录下到层的链接),比如在容器中创建目录或在diff新增该目录。
根据存储数据及功能可以把这些层分为3部分:
1. 只读层
2. init层(夹在只读层和读写层之间,专门用来存放/etc/hosts、/etc/resolv.conf等信息。需要这样一层的原因是,这些文件本来属于只读的系统镜像层的一部分,但是用户往往需要在启动容器时写入一些指定的值比如hostname,所以就需要在可读写层对它们进行修改。可是,这些修改往往只对当前的容器有效,我们并不希望执行docker commit时,把这些信息连同可读写层一起提交掉。所以,Docker做法是,在修改了这些文件之后,以一个单独的层挂载了出来。而用户执行docker commit只会提交可读写层,所以是不包含这些内容的。)
3.读写层(在没有写入文件之前,这个目录是空的。而一旦在容器里做了写操作,你修改产生的内容就会以增量的方式出现在这个层中)
查看容器挂载目录
[root@p22295v zhangzhifei]# cat /var/lib/docker/image/overlay2/layerdb/mounts/83555ad8c034682ad885fc9e320bfb1f8b75498b61a1a8684d738c411caa930b/mount-id
3695f349587aaa2cdc82fcde1a380c7b567ef870a47e4c28b8b279e4edc9eb40[root@p22295v zhangzhifei]#
读写层
[root@p22295v zhangzhifei]# ls /var/lib/docker/overlay2/3695f349587aaa2cdc82fcde1a380c7b567ef870a47e4c28b8b279e4edc9eb40/diff/
[root@p22295v zhangzhifei]#
只读层
[root@p22295v zhangzhifei]# ls /var/lib/docker/overlay2/65e5cdd72f2995da4c73f2d9b90e8d974b9d2f18829a2479296aaec24e67d185/diff/
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
只读层(Dockerfile时ADD的二进制程序)
[root@p22295v zhangzhifei]# ls -lrt /var/lib/docker/overlay2/852fa5138c3da5070b59e6402348a5a281378b28ee08fede9c635e4101f91092/diff/usr/bin/
total 28836
-rwxr-xr-x 1 root root 29526888 Jul 10 16:23 kraken-origin
init层
[root@p22295v zhangzhifei]# ls /var/lib/docker/overlay2/3695f349587aaa2cdc82fcde1a380c7b567ef870a47e4c28b8b279e4edc9eb40-init/diff/
dev etc
最终,这写层都被联合挂载到/var/lib/docker/overlay2/3695f349587aaa2cdc82fcde1a380c7b567ef870a47e4c28b8b279e4edc9eb40/merged目录下,表现为一个完整的操作系统和运行时环境供容器使用。
[root@p22295v zhangzhifei]# mount | grep 3695f349587aaa2cdc82fcde1a380c7b567ef870a47e4c28b8b279e4edc9eb40
overlay on /var/lib/docker/overlay2/3695f349587aaa2cdc82fcde1a380c7b567ef870a47e4c28b8b279e4edc9eb40/merged type overlay (rw,relatime,lowerdir=/var/lib/docker/overlay2/l/Z7QMVXSKSNAKCUEJ6ZMU5YTFWG:/var/lib/docker/overlay2/l/2OYCXTK7M4QN3DT7IYJK6J7VYT:/var/lib/docker/overlay2/l/UZTDJDVUOBHU2VERRLXF5KMIQO:/var/lib/docker/overlay2/l/NAXXPRFMO4ATUIG6SFPU4LBUUV:/var/lib/docker/overlay2/l/AM4PHUFWOD4UHYIVO5Q6GVZ5L7:/var/lib/docker/overlay2/l/7XLJNT7Q3UQIKHDNV4QG4EX2C3:/var/lib/docker/overlay2/l/3RAVSDXXRS3BASAKZFPT2ESY2K:/var/lib/docker/overlay2/l/FFNAQF5ADFSTEBNZZ4O2R3CP4N:/var/lib/docker/overlay2/l/X6BOWOZKYRN3DZFY6QLLP7OFDP:/var/lib/docker/overlay2/l/P3EO3WHIM2XPDNPIFUP42EGMQI:/var/lib/docker/overlay2/l/EOSBLWDBASO7GKSDILC4XVGO45:/var/lib/docker/overlay2/l/7K7266OIDWAVXLAN6AA3SZXZQZ,upperdir=/var/lib/docker/overlay2/3695f349587aaa2cdc82fcde1a380c7b567ef870a47e4c28b8b279e4edc9eb40/diff,workdir=/var/lib/docker/overlay2/3695f349587aaa2cdc82fcde1a380c7b567ef870a47e4c28b8b279e4edc9eb40/work)
[root@p22295v zhangzhifei]# ls /var/lib/docker/overlay2/3695f349587aaa2cdc82fcde1a380c7b567ef870a47e4c28b8b279e4edc9eb40/merged
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@p22295v zhangzhifei]#
├── blobs
│ └── sha256
│ │ └── dfa94d685d1c2179324f02bf2a119f6d8ee0d380cef5506566012f7c4936a04a
│ │ └── data
│ ├── e6
│ │ └── e6ae4ac760c8457aca9be07de8ca66b3a358a19b950389a0d158ae885178f6cf
│ │ └── data
│ ├── e7
│ │ └── e71de1ca8f2b18993c258e2bf50edea8c23ea4a78a821bcfef181de50b3c32f4
│ │ └── data
│ ├── e8
│ ├── eb
│ │ └── ebbcacd28e101968415b0c812b2d2dc60f969e36b0b08c073bf796e12b1bb449
│ │ └── data
│ ├── ee
│ │ └── ee3d4cdf51349229906ff11db003cf23390eb2642ae2a6fbd75af933bb33318e
│ │ └── data
│ ├── f2
│ │ └── f296fda86f10cfcb81d60d5bcb47a7784a8ec4876d6eac7fabd51f2a7e8694aa
│ │ └── data
│ ├── fc
│ │ └── fc2476ccae2a5186313f2d1dadb4a969d6d2d4c6b23fa98b6c7b0a1faad67685
│ │ └── data
│ └── ff
│ ├── ff3ccaa8321b5ee312fab2cfe679467af2ae7510bb84032bdc0324e1d2d0edec
│ │ └── data
│ └── ffe92548d2836f6ed88665bc7d5655a78a041ff8bb006c772af6bf2326ddb0a6
│ └── data
└── repositories
├── registry-share-private
│ ├── push-mount
│ │ ├── _layers
│ │ │ └── sha256
│ │ │ ├── 1b1ad4542c99b8881265610cf5dc09e37d38445529a7584edb2a607fd783216f
│ │ │ │ └── link
│ │ │ ├── 286e9e279b970184db33b43fa5e25008ea0b711f39ec9849baffdc191c8fd1df
│ │ │ │ └── link
│ │ │ ├── 298de445ff18300c143569dcd324fbf0512de036fc25d52454834bb2386947e6
│ │ │ │ └── link
│ │ │ ├── 37e8bc3ffc7a76234d479e1a4ad8692773f04c667c48262598780575e20a169d
│ │ │ │ └── link
│ │ │ ├── 4af096619739efe5fd5966da63bf5e4db67ca9a7d9c44e0965b2b90d22a903d2
│ │ │ │ └── link
│ │ │ ├── 94af5ef9353dd0cd289df4ed00543f7dd0be6d746d84636435fd8d6ea2ccfee9
│ │ │ │ └── link
│ │ │ ├── a5a06a865ace7f8ee9988fcc391741f1206e02b0164a71f6d1d6a097aa3d500b
│ │ │ │ └── link
│ │ │ ├── a8325e15f27f6d97d6b39264e402d9ee9d53f721c1c6d83cc3e39e9c1ceeec8f
│ │ │ │ └── link
│ │ │ ├── d93a2d7cc901177e87182b2003d50fb3ffd5be3eb698f39f5c862264efe6ee99
│ │ │ │ └── link
│ │ │ └── ff3ccaa8321b5ee312fab2cfe679467af2ae7510bb84032bdc0324e1d2d0edec
│ │ │ └── link
│ │ ├── _manifests
│ │ │ ├── revisions
│ │ │ │ └── sha256
│ │ │ │ └── 9e4cf4691735c02e59dd49ee561a3f5e56bccf78d57eaa94581e29f69a5162bd
│ │ │ │ └── link
│ │ │ └── tags
│ │ │ └── v1
│ │ │ ├── current
│ │ │ │ └── link
│ │ │ └── index
│ │ │ └── sha256
│ │ │ └── 9e4cf4691735c02e59dd49ee561a3f5e56bccf78d57eaa94581e29f69a5162bd
│ │ │ └── link
│ │ └── _uploads
│ ├── push-new
│ │ ├── _layers
│ │ │ └── sha256
│ │ │ ├── 1b1ad4542c99b8881265610cf5dc09e37d38445529a7584edb2a607fd783216f
│ │ │ │ └── link
│ │ │ ├── 286e9e279b970184db33b43fa5e25008ea0b711f39ec9849baffdc191c8fd1df
│ │ │ │ └── link
│ │ │ ├── 298de445ff18300c143569dcd324fbf0512de036fc25d52454834bb2386947e6
│ │ │ │ └── link
│ │ │ ├── 37e8bc3ffc7a76234d479e1a4ad8692773f04c667c48262598780575e20a169d
│ │ │ │ └── link
│ │ │ ├── 4af096619739efe5fd5966da63bf5e4db67ca9a7d9c44e0965b2b90d22a903d2
│ │ │ │ └── link
│ │ │ ├── 94af5ef9353dd0cd289df4ed00543f7dd0be6d746d84636435fd8d6ea2ccfee9
│ │ │ │ └── link
│ │ │ ├── a5a06a865ace7f8ee9988fcc391741f1206e02b0164a71f6d1d6a097aa3d500b
│ │ │ │ └── link
│ │ │ ├── a8325e15f27f6d97d6b39264e402d9ee9d53f721c1c6d83cc3e39e9c1ceeec8f
│ │ │ │ └── link
│ │ │ ├── d93a2d7cc901177e87182b2003d50fb3ffd5be3eb698f39f5c862264efe6ee99
│ │ │ │ └── link
│ │ │ └── ff3ccaa8321b5ee312fab2cfe679467af2ae7510bb84032bdc0324e1d2d0edec
│ │ │ └── link
│ │ ├── _manifests
│ │ │ ├── revisions
│ │ │ │ └── sha256
│ │ │ │ └── 9e4cf4691735c02e59dd49ee561a3f5e56bccf78d57eaa94581e29f69a5162bd
│ │ │ │ └── link
│ │ │ └── tags
│ │ │ └── v1
│ │ │ ├── current
│ │ │ │ └── link
│ │ │ └── index
│ │ │ └── sha256
│ │ │ └── 9e4cf4691735c02e59dd49ee561a3f5e56bccf78d57eaa94581e29f69a5162bd
│ │ │ └── link
│ │ └──
registry-share-private/push-mount就是一个仓库名,registry-share-private相当于project的概念,push-mount容器名
GET /v2/ HTTP/1.1
Host: reg.myharbor.com
User-Agent: docker/1.13.1 go/go1.9.4 kernel/3.10.0-514.el7.x86_64 os/linux arch/amd64 UpstreamClient(Docker-Client/1.13.1 \(linux\))
Accept-Encoding: gzip
Connection: close
HTTP/1.1 401 Unauthorized
Server: nginx
Date: Thu, 25 Jul 2019 12:26:18 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 87
Connection: close
Docker-Distribution-Api-Version: registry/2.0
Set-Cookie: beegosessionID=f949e87ea41cfdff40d4eaaf5ec4d8ad; Path=/; HttpOnly
Www-Authenticate: Bearer realm="http://reg.myharbor.com/service/token",service="harbor-registry"
{"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":null}]}
GET /service/token?account=share&scope=repository%3Aregistry-share-private%2Fpush-new%3Apush%2Cpull&service=harbor-registry HTTP/1.1
Host: reg.myharbor.com
User-Agent: docker/1.13.1 go/go1.9.4 kernel/3.10.0-514.el7.x86_64 os/linux arch/amd64 UpstreamClient(Docker-Client/1.13.1 \(linux\))
Authorization: Basic c2hhcmU6U2hhcmUxMjM0NQ==
Accept-Encoding: gzip
Connection: close
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 25 Jul 2019 12:26:18 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 977
Connection: close
Content-Encoding: gzip
Set-Cookie: beegosessionID=b9847b82ec96b422708f2ca0f753ac21; Path=/; HttpOnly
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjNCTE86WFJIUzpKQjRDOkQ0M006M1hITDpQRTIyOk9SNjM6UzY2WTo3STc3OlVJQlA6RE5BVzozUTI0In0.eyJpc3MiOiJoYXJib3ItdG9rZW4taXNzdWVyIiwic3ViIjoic2hhcmUiLCJhdWQiOiJoYXJib3ItcmVnaXN0cnkiLCJleHAiOjE1NjQwNTkzNzgsIm5iZiI6MTU2NDA1NzU3OCwiaWF0IjoxNTY0MDU3NTc4LCJqdGkiOiJiZndhVFc5M2dzaE5va0wyIiwiYWNjZXNzIjpbeyJ0eXBlIjoicmVwb3NpdG9yeSIsIm5hbWUiOiJyZWdpc3RyeS1zaGFyZS1wcml2YXRlL3B1c2gtbmV3IiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV19.WIeHdiwqnm-ATdYS08wHvrHb7HHHCJT81iWbkXch1xrUC0M6leR9dN3grzWO7ONjT7cwL3u_9Q2OP7_dPbneHSJvdHRImxfVF09-74pC9-QgdGB8jEB4mVzqDpgCqxmjtHWAayqhxvUWyuVSuFZXuC4Yk-P2G6TmxN2uF261Igl46iKQOL-4btYleHL9VfDxT4L50QC27s7gJuSNvo_8u5bLazz31NxMHdZZY7mo0PgtzCntJVL2eyuarw3GrVK5E3SkMlSqPxQ3qRViCS7bCDZbWMc7Tl8nNSQDi5xBq3nMlXPQ6ubC-7vVSqtVFf9o_wBOqp6HZbWlIU9mhfWNhtThoIT-nBTSyChJ8sXPDNV2xzbmzqj0dzHeuMyKw6l6BS3-iRqXkceeRj7ywv9RWw1lgRJBCCy8zR3i8e8CpBceWufGeUDClf9LWDzO7Y_5G3G4ORYlZV1tHuJhDPGYgaO6ykYwcyQjXmGOoGL4nEG1LN8xjs4LLgkSQ018MARjsAEiK4D-QZ7aMI9vout10BgyqojcAaxdV8IqK9St_-4rzL59zQ9nWgJ6rqah4PWXCMY4dP3hzZS_iP0W5c2_CW94qONtof1i3zOYgT_oHRLjN1xKHksSqha3t394_28o511FVInkhFT5YfBdtCYAL5VLfa0AtqaykX9MCGq1gBk",
"expires_in": 1800,
"issued_at": "2019-07-25T12:26:18Z"
}
HEAD /v2/registry-share-private/push-new/blobs/sha256:286e9e279b970184db33b43fa5e25008ea0b711f39ec9849baffdc191c8fd1df HTTP/1.1
Host: reg.myharbor.com
User-Agent: docker/1.13.1 go/go1.9.4 kernel/3.10.0-514.el7.x86_64 os/linux arch/amd64 UpstreamClient(Docker-Client/1.13.1 \(linux\))
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjNCTE86WFJIUzpKQjRDOkQ0M006M1hITDpQRTIyOk9SNjM6UzY2WTo3STc3OlVJQlA6RE5BVzozUTI0In0.eyJpc3MiOiJoYXJib3ItdG9rZW4taXNzdWVyIiwic3ViIjoic2hhcmUiLCJhdWQiOiJoYXJib3ItcmVnaXN0cnkiLCJleHAiOjE1NjQwNTkzNzgsIm5iZiI6MTU2NDA1NzU3OCwiaWF0IjoxNTY0MDU3NTc4LCJqdGkiOiJiZndhVFc5M2dzaE5va0wyIiwiYWNjZXNzIjpbeyJ0eXBlIjoicmVwb3NpdG9yeSIsIm5hbWUiOiJyZWdpc3RyeS1zaGFyZS1wcml2YXRlL3B1c2gtbmV3IiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV19.WIeHdiwqnm-ATdYS08wHvrHb7HHHCJT81iWbkXch1xrUC0M6leR9dN3grzWO7ONjT7cwL3u_9Q2OP7_dPbneHSJvdHRImxfVF09-74pC9-QgdGB8jEB4mVzqDpgCqxmjtHWAayqhxvUWyuVSuFZXuC4Yk-P2G6TmxN2uF261Igl46iKQOL-4btYleHL9VfDxT4L50QC27s7gJuSNvo_8u5bLazz31NxMHdZZY7mo0PgtzCntJVL2eyuarw3GrVK5E3SkMlSqPxQ3qRViCS7bCDZbWMc7Tl8nNSQDi5xBq3nMlXPQ6ubC-7vVSqtVFf9o_wBOqp6HZbWlIU9mhfWNhtThoIT-nBTSyChJ8sXPDNV2xzbmzqj0dzHeuMyKw6l6BS3-iRqXkceeRj7ywv9RWw1lgRJBCCy8zR3i8e8CpBceWufGeUDClf9LWDzO7Y_5G3G4ORYlZV1tHuJhDPGYgaO6ykYwcyQjXmGOoGL4nEG1LN8xjs4LLgkSQ018MARjsAEiK4D-QZ7aMI9vout10BgyqojcAaxdV8IqK9St_-4rzL59zQ9nWgJ6rqah4PWXCMY4dP3hzZS_iP0W5c2_CW94qONtof1i3zOYgT_oHRLjN1xKHksSqha3t394_28o511FVInkhFT5YfBdtCYAL5VLfa0AtqaykX9MCGq1gBk
Connection: close
HTTP/1.1 404 Not Found
Server: nginx
Date: Thu, 25 Jul 2019 12:26:18 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 157
Connection: close
Docker-Distribution-Api-Version: registry/2.0
Set-Cookie: beegosessionID=a8aaecf9ffe64fa3cbf8807b937025ab; Path=/; HttpOnly
POST /v2/registry-share-private/push-new/blobs/uploads/ HTTP/1.1
Host: reg.myharbor.com
User-Agent: docker/1.13.1 go/go1.9.4 kernel/3.10.0-514.el7.x86_64 os/linux arch/amd64 UpstreamClient(Docker-Client/1.13.1 \(linux\))
Content-Length: 0
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjNCTE86WFJIUzpKQjRDOkQ0M006M1hITDpQRTIyOk9SNjM6UzY2WTo3STc3OlVJQlA6RE5BVzozUTI0In0.eyJpc3MiOiJoYXJib3ItdG9rZW4taXNzdWVyIiwic3ViIjoic2hhcmUiLCJhdWQiOiJoYXJib3ItcmVnaXN0cnkiLCJleHAiOjE1NjQwNTkzNzgsIm5iZiI6MTU2NDA1NzU3OCwiaWF0IjoxNTY0MDU3NTc4LCJqdGkiOiJiZndhVFc5M2dzaE5va0wyIiwiYWNjZXNzIjpbeyJ0eXBlIjoicmVwb3NpdG9yeSIsIm5hbWUiOiJyZWdpc3RyeS1zaGFyZS1wcml2YXRlL3B1c2gtbmV3IiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV19.WIeHdiwqnm-ATdYS08wHvrHb7HHHCJT81iWbkXch1xrUC0M6leR9dN3grzWO7ONjT7cwL3u_9Q2OP7_dPbneHSJvdHRImxfVF09-74pC9-QgdGB8jEB4mVzqDpgCqxmjtHWAayqhxvUWyuVSuFZXuC4Yk-P2G6TmxN2uF261Igl46iKQOL-4btYleHL9VfDxT4L50QC27s7gJuSNvo_8u5bLazz31NxMHdZZY7mo0PgtzCntJVL2eyuarw3GrVK5E3SkMlSqPxQ3qRViCS7bCDZbWMc7Tl8nNSQDi5xBq3nMlXPQ6ubC-7vVSqtVFf9o_wBOqp6HZbWlIU9mhfWNhtThoIT-nBTSyChJ8sXPDNV2xzbmzqj0dzHeuMyKw6l6BS3-iRqXkceeRj7ywv9RWw1lgRJBCCy8zR3i8e8CpBceWufGeUDClf9LWDzO7Y_5G3G4ORYlZV1tHuJhDPGYgaO6ykYwcyQjXmGOoGL4nEG1LN8xjs4LLgkSQ018MARjsAEiK4D-QZ7aMI9vout10BgyqojcAaxdV8IqK9St_-4rzL59zQ9nWgJ6rqah4PWXCMY4dP3hzZS_iP0W5c2_CW94qONtof1i3zOYgT_oHRLjN1xKHksSqha3t394_28o511FVInkhFT5YfBdtCYAL5VLfa0AtqaykX9MCGq1gBk
Content-Type:
Accept-Encoding: gzip
Connection: close
HTTP/1.1 202 Accepted
Server: nginx
Date: Thu, 25 Jul 2019 12:26:19 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 0
Connection: close
Docker-Distribution-Api-Version: registry/2.0
Docker-Upload-Uuid: 6178733d-0607-4245-a092-6104cb784bf2
Location: http://reg.myharbor.com/v2/registry-share-private/push-new/blobs/uploads/6178733d-0607-4245-a092-6104cb784bf2?_state=pKHNnX7zDiLowkh6Gin5zTfCas2AmKuyyrmVMRNx74x7Ik5hbWUiOiJyZWdpc3RyeS1zaGFyZS1wcml2YXRlL3B1c2gtbmV3IiwiVVVJRCI6IjYxNzg3MzNkLTA2MDctNDI0NS1hMDkyLTYxMDRjYjc4NGJmMiIsIk9mZnNldCI6MCwiU3RhcnRlZEF0IjoiMjAxOS0wNy0yNVQxMjoyNjoxOC44MTMxOTUzNjZaIn0%3D
Range: 0-0
Set-Cookie: beegosessionID=f5a3ac2921aca8e3afdbb465b0100cd2; Path=/; HttpOnly
PATCH /v2/registry-share-private/push-new/blobs/uploads/6178733d-0607-4245-a092-6104cb784bf2?_state=pKHNnX7zDiLowkh6Gin5zTfCas2AmKuyyrmVMRNx74x7Ik5hbWUiOiJyZWdpc3RyeS1zaGFyZS1wcml2YXRlL3B1c2gtbmV3IiwiVVVJRCI6IjYxNzg3MzNkLTA2MDctNDI0NS1hMDkyLTYxMDRjYjc4NGJmMiIsIk9mZnNldCI6MCwiU3RhcnRlZEF0IjoiMjAxOS0wNy0yNVQxMjoyNjoxOC44MTMxOTUzNjZaIn0%3D HTTP/1.1
Host: reg.myharbor.com
docker/1.13.1 go/go1.9.4 kernel/3.10.0-514.el7.x86_64 os/linux arch/amd64 UpstreamClient(Docker-Client/1.13.1 \(linux\)) :
chunked :
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjNCTE86WFJIUzpKQjRDOkQ0M006M1hITDpQRTIyOk9SNjM6UzY2WTo3STc3OlVJQlA6RE5BVzozUTI0In0.eyJpc3MiOiJoYXJib3ItdG9rZW4taXNzdWVyIiwic3ViIjoic2hhcmUiLCJhdWQiOiJoYXJib3ItcmVnaXN0cnkiLCJleHAiOjE1NjQwNTkzNzgsIm5iZiI6MTU2NDA1NzU3OCwiaWF0IjoxNTY0MDU3NTc4LCJqdGkiOiJiZndhVFc5M2dzaE5va0wyIiwiYWNjZXNzIjpbeyJ0eXBlIjoicmVwb3NpdG9yeSIsIm5hbWUiOiJyZWdpc3RyeS1zaGFyZS1wcml2YXRlL3B1c2gtbmV3IiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV19.WIeHdiwqnm-ATdYS08wHvrHb7HHHCJT81iWbkXch1xrUC0M6leR9dN3grzWO7ONjT7cwL3u_9Q2OP7_dPbneHSJvdHRImxfVF09-74pC9-QgdGB8jEB4mVzqDpgCqxmjtHWAayqhxvUWyuVSuFZXuC4Yk-P2G6TmxN2uF261Igl46iKQOL-4btYleHL9VfDxT4L50QC27s7gJuSNvo_8u5bLazz31NxMHdZZY7mo0PgtzCntJVL2eyuarw3GrVK5E3SkMlSqPxQ3qRViCS7bCDZbWMc7Tl8nNSQDi5xBq3nMlXPQ6ubC-7vVSqtVFf9o_wBOqp6HZbWlIU9mhfWNhtThoIT-nBTSyChJ8sXPDNV2xzbmzqj0dzHeuMyKw6l6BS3-iRqXkceeRj7ywv9RWw1lgRJBCCy8zR3i8e8CpBceWufGeUDClf9LWDzO7Y_5G3G4ORYlZV1tHuJhDPGYgaO6ykYwcyQjXmGOoGL4nEG1LN8xjs4LLgkSQ018MARjsAEiK4D-QZ7aMI9vout10BgyqojcAaxdV8IqK9St_-4rzL59zQ9nWgJ6rqah4PWXCMY4dP3hzZS_iP0W5c2_CW94qONtof1i3zOYgT_oHRLjN1xKHksSqha3t394_28o511FVInkhFT5YfBdtCYAL5VLfa0AtqaykX9MCGq1gBk
gzip :
Connection: close
....n_.I.*R.H-...6....o`..C12....,...6...R..\'DY..r..K.C4.@.i.........Qg.:...*
.........pI..zc.M....,....!.s didl.!.. Yh...! k......v1...g...m..........*..........g.n...k....!....]....8?... .F........._.......j#.....HTTP/1.1 202 Accepted
Server: nginx
Date: Thu, 25 Jul 2019 12:26:19 GMT
text/plain; charset=utf-8 :
0 :
Connection: close
registry/2.0 :
6178733d-0607-4245-a092-6104cb784bf2 :
Location: http://reg.myharbor.com/v2/registry-share-private/push-new/blobs/uploads/6178733d-0607-4245-a092-6104cb784bf2?_state=19TYI6CYz6LohGdEhCNv7veQG2M77lz8q1evuLOEZU17Ik5hbWUiOiJyZWdpc3RyeS1zaGFyZS1wcml2YXRlL3B1c2gtbmV3IiwiVVVJRCI6IjYxNzg3MzNkLTA2MDctNDI0NS1hMDkyLTYxMDRjYjc4NGJmMiIsIk9mZnNldCI6MzMzLCJTdGFydGVkQXQiOiIyMDE5LTA3LTI1VDEyOjI2OjE4WiJ9
Range: 0-332
beegosessionID=8407c7ba275391b58314b94aed502179; Path=/; HttpOnly :
PUT /v2/registry-share-private/push-new/blobs/uploads/6178733d-0607-4245-a092-6104cb784bf2?_state=19TYI6CYz6LohGdEhCNv7veQG2M77lz8q1evuLOEZU17Ik5hbWUiOiJyZWdpc3RyeS1zaGFyZS1wcml2YXRlL3B1c2gtbmV3IiwiVVVJRCI6IjYxNzg3MzNkLTA2MDctNDI0NS1hMDkyLTYxMDRjYjc4NGJmMiIsIk9mZnNldCI6MzMzLCJTdGFydGVkQXQiOiIyMDE5LTA3LTI1VDEyOjI2OjE4WiJ9&digest=sha256%3A286e9e279b970184db33b43fa5e25008ea0b711f39ec9849baffdc191c8fd1df HTTP/1.1
Host: reg.myharbor.com
User-Agent: docker/1.13.1 go/go1.9.4 kernel/3.10.0-514.el7.x86_64 os/linux arch/amd64 UpstreamClient(Docker-Client/1.13.1 \(linux\))
Content-Length: 0
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjNCTE86WFJIUzpKQjRDOkQ0M006M1hITDpQRTIyOk9SNjM6UzY2WTo3STc3OlVJQlA6RE5BVzozUTI0In0.eyJpc3MiOiJoYXJib3ItdG9rZW4taXNzdWVyIiwic3ViIjoic2hhcmUiLCJhdWQiOiJoYXJib3ItcmVnaXN0cnkiLCJleHAiOjE1NjQwNTkzNzgsIm5iZiI6MTU2NDA1NzU3OCwiaWF0IjoxNTY0MDU3NTc4LCJqdGkiOiJiZndhVFc5M2dzaE5va0wyIiwiYWNjZXNzIjpbeyJ0eXBlIjoicmVwb3NpdG9yeSIsIm5hbWUiOiJyZWdpc3RyeS1zaGFyZS1wcml2YXRlL3B1c2gtbmV3IiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV19.WIeHdiwqnm-ATdYS08wHvrHb7HHHCJT81iWbkXch1xrUC0M6leR9dN3grzWO7ONjT7cwL3u_9Q2OP7_dPbneHSJvdHRImxfVF09-74pC9-QgdGB8jEB4mVzqDpgCqxmjtHWAayqhxvUWyuVSuFZXuC4Yk-P2G6TmxN2uF261Igl46iKQOL-4btYleHL9VfDxT4L50QC27s7gJuSNvo_8u5bLazz31NxMHdZZY7mo0PgtzCntJVL2eyuarw3GrVK5E3SkMlSqPxQ3qRViCS7bCDZbWMc7Tl8nNSQDi5xBq3nMlXPQ6ubC-7vVSqtVFf9o_wBOqp6HZbWlIU9mhfWNhtThoIT-nBTSyChJ8sXPDNV2xzbmzqj0dzHeuMyKw6l6BS3-iRqXkceeRj7ywv9RWw1lgRJBCCy8zR3i8e8CpBceWufGeUDClf9LWDzO7Y_5G3G4ORYlZV1tHuJhDPGYgaO6ykYwcyQjXmGOoGL4nEG1LN8xjs4LLgkSQ018MARjsAEiK4D-QZ7aMI9vout10BgyqojcAaxdV8IqK9St_-4rzL59zQ9nWgJ6rqah4PWXCMY4dP3hzZS_iP0W5c2_CW94qONtof1i3zOYgT_oHRLjN1xKHksSqha3t394_28o511FVInkhFT5YfBdtCYAL5VLfa0AtqaykX9MCGq1gBk
Accept-Encoding: gzip
Connection: close
HTTP/1.1 201 Created
Server: nginx
Date: Thu, 25 Jul 2019 12:26:19 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 0
Connection: close
Docker-Content-Digest: sha256:286e9e279b970184db33b43fa5e25008ea0b711f39ec9849baffdc191c8fd1df
Docker-Distribution-Api-Version: registry/2.0
Location: http://reg.myharbor.com/v2/registry-share-private/push-new/blobs/sha256:286e9e279b970184db33b43fa5e25008ea0b711f39ec9849baffdc191c8fd1df
Set-Cookie: beegosessionID=157cb059f1bd7f8d37897952392a9082; Path=/; HttpOnly
上传mainfest
PUT /v2/registry-share-private/push-new/manifests/v1 HTTP/1.1
Host: reg.myharbor.com
User-Agent: docker/1.13.1 go/go1.9.4 kernel/3.10.0-514.el7.x86_64 os/linux arch/amd64 UpstreamClient(Docker-Client/1.13.1 \(linux\))
Content-Length: 2205
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjNCTE86WFJIUzpKQjRDOkQ0M006M1hITDpQRTIyOk9SNjM6UzY2WTo3STc3OlVJQlA6RE5BVzozUTI0In0.eyJpc3MiOiJoYXJib3ItdG9rZW4taXNzdWVyIiwic3ViIjoic2hhcmUiLCJhdWQiOiJoYXJib3ItcmVnaXN0cnkiLCJleHAiOjE1NjQwNTkzNzgsIm5iZiI6MTU2NDA1NzU3OCwiaWF0IjoxNTY0MDU3NTc4LCJqdGkiOiJiZndhVFc5M2dzaE5va0wyIiwiYWNjZXNzIjpbeyJ0eXBlIjoicmVwb3NpdG9yeSIsIm5hbWUiOiJyZWdpc3RyeS1zaGFyZS1wcml2YXRlL3B1c2gtbmV3IiwiYWN0aW9ucyI6WyJwdXNoIiwicHVsbCJdfV19.WIeHdiwqnm-ATdYS08wHvrHb7HHHCJT81iWbkXch1xrUC0M6leR9dN3grzWO7ONjT7cwL3u_9Q2OP7_dPbneHSJvdHRImxfVF09-74pC9-QgdGB8jEB4mVzqDpgCqxmjtHWAayqhxvUWyuVSuFZXuC4Yk-P2G6TmxN2uF261Igl46iKQOL-4btYleHL9VfDxT4L50QC27s7gJuSNvo_8u5bLazz31NxMHdZZY7mo0PgtzCntJVL2eyuarw3GrVK5E3SkMlSqPxQ3qRViCS7bCDZbWMc7Tl8nNSQDi5xBq3nMlXPQ6ubC-7vVSqtVFf9o_wBOqp6HZbWlIU9mhfWNhtThoIT-nBTSyChJ8sXPDNV2xzbmzqj0dzHeuMyKw6l6BS3-iRqXkceeRj7ywv9RWw1lgRJBCCy8zR3i8e8CpBceWufGeUDClf9LWDzO7Y_5G3G4ORYlZV1tHuJhDPGYgaO6ykYwcyQjXmGOoGL4nEG1LN8xjs4LLgkSQ018MARjsAEiK4D-QZ7aMI9vout10BgyqojcAaxdV8IqK9St_-4rzL59zQ9nWgJ6rqah4PWXCMY4dP3hzZS_iP0W5c2_CW94qONtof1i3zOYgT_oHRLjN1xKHksSqha3t394_28o511FVInkhFT5YfBdtCYAL5VLfa0AtqaykX9MCGq1gBk
Content-Type: application/vnd.docker.distribution.manifest.v2+json
Accept-Encoding: gzip
Connection: close
{
"schemaVersion": 2,
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"config": {
"mediaType": "application/vnd.docker.container.image.v1+json",
"size": 8216,
"digest": "sha256:298de445ff18300c143569dcd324fbf0512de036fc25d52454834bb2386947e6"
},
"layers": [
{
"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 52595547,
"digest": "sha256:d93a2d7cc901177e87182b2003d50fb3ffd5be3eb698f39f5c862264efe6ee99"
},
{
"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 3635843,
"digest": "sha256:1b1ad4542c99b8881265610cf5dc09e37d38445529a7584edb2a607fd783216f"
},
{
"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 19806611,
"digest": "sha256:ff3ccaa8321b5ee312fab2cfe679467af2ae7510bb84032bdc0324e1d2d0edec"
},
{
"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 241,
"digest": "sha256:a5a06a865ace7f8ee9988fcc391741f1206e02b0164a71f6d1d6a097aa3d500b"
},
{
"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 1969212,
"digest": "sha256:a8325e15f27f6d97d6b39264e402d9ee9d53f721c1c6d83cc3e39e9c1ceeec8f"
},
{
"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 132,
"digest": "sha256:94af5ef9353dd0cd289df4ed00543f7dd0be6d746d84636435fd8d6ea2ccfee9"
},
{
"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 333,
"digest": "sha256:286e9e279b970184db33b43fa5e25008ea0b711f39ec9849baffdc191c8fd1df"
},
{
"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 22311565,
"digest": "sha256:37e8bc3ffc7a76234d479e1a4ad8692773f04c667c48262598780575e20a169d"
},
{
"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
"size": 35106,
"digest": "sha256:4af096619739efe5fd5966da63bf5e4db67ca9a7d9c44e0965b2b90d22a903d2"
}
]
}HTTP/1.1 201 Created
Server: nginx
Date: Thu, 25 Jul 2019 12:26:36 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 0
Connection: close
Docker-Content-Digest: sha256:9e4cf4691735c02e59dd49ee561a3f5e56bccf78d57eaa94581e29f69a5162bd
Docker-Distribution-Api-Version: registry/2.0
Location: http://reg.myharbor.com/v2/registry-share-private/push-new/manifests/sha256:9e4cf4691735c02e59dd49ee561a3f5e56bccf78d57eaa94581e29f69a5162bd
Set-Cookie: beegosessionID=2b449cbfaea72b978aabc8c32c3617d7; Path=/; HttpOnly
GET /service/token?account=share&scope=repository%3Aregistry-share-private%2Fpush-mount%3Apush%2Cpull&scope=repository%3Aregistry-share-private%2Fpush-new%3Apull&service=harbor-registry HTTP/1.1
Host: reg.myharbor.com
User-Agent: docker/1.13.1 go/go1.9.4 kernel/3.10.0-514.el7.x86_64 os/linux arch/amd64 UpstreamClient(Docker-Client/1.13.1 \(linux\))
Authorization: Basic c2hhcmU6U2hhcmUxMjM0NQ==
Accept-Encoding: gzip
Connection: close
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 25 Jul 2019 12:27:45 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 1065
Connection: close
Content-Encoding: gzip
Set-Cookie: beegosessionID=c27746a125006bd70a24d75205a4008c; Path=/; HttpOnly
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjNCTE86WFJIUzpKQjRDOkQ0M006M1hITDpQRTIyOk9SNjM6UzY2WTo3STc3OlVJQlA6RE5BVzozUTI0In0.eyJpc3MiOiJoYXJib3ItdG9rZW4taXNzdWVyIiwic3ViIjoic2hhcmUiLCJhdWQiOiJoYXJib3ItcmVnaXN0cnkiLCJleHAiOjE1NjQwNTk0NjUsIm5iZiI6MTU2NDA1NzY2NSwiaWF0IjoxNTY0MDU3NjY1LCJqdGkiOiJBV29mNnVQYmhNM1hpMkRRIiwiYWNjZXNzIjpbeyJ0eXBlIjoicmVwb3NpdG9yeSIsIm5hbWUiOiJyZWdpc3RyeS1zaGFyZS1wcml2YXRlL3B1c2gtbW91bnQiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19LHsidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicmVnaXN0cnktc2hhcmUtcHJpdmF0ZS9wdXNoLW5ldyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dfQ.lQuoMmPI5SMlezxLN4RloK0wQnYQg-53oa0ZT7wE3ejzktQAEciR5LKDiPHo5OvMCiLcT50Z9zDdIaKwzRP7WAJT_WaaH0XNjvsB65M4HVAMq5p8lSz4skmCTsvW32pnDyLeCN1Rel3Vf876MbTXMmY2NM3PMqq3CnHOm-A02G2oZSwVmVsMvib3uSFNL5OFflXcZSyaTcZOEccwloND0OghbdLh6mx8sp-UYB-SeFWRu-poy9weMi7_gbxsk2IGjoqTIhGY8AMlrgjEYvq6RP2pclZxioPwW2wpJJXNDkv4G3Hbxpn9u6qe_TzpNmVhdJj6D48nm07W8R9rgfwegU8J7ZspdA-gKbA79C3gKpusrgPMGIJQweXxdPxlJ6i2pnZXS3boaeuB8q-I9_9bTvAQLisD_D5Ricbm-PtCKmoXzEYruBtFB4TFexynUmI52-zzHqQktMlp7egASBhcDXCICrCQxNsIbvqJKK1W9BcF6p_zW4eG5JdIxDiXIRQr2FyjrT9CX2Ync_km3on6gWewoWNQGPbJbhq3TTnpd1CCSP4x6E2bZAY4gMy4mUCkN5BzoY7pf1RUJEd_VGVm3P9N3aEORxAJb3QCAwgmW8LY2yg3c3VOgkMQp2gBPg1VgKiw3CsTzzEf73cIyL2SL4v5w1_ybAU6T81e837E8oQ",
"expires_in": 1800,
"issued_at": "2019-07-25T12:27:45Z"
}
POST /v2/registry-share-private/push-mount/blobs/uploads/?from=registry-share-private%2Fpush-new&mount=sha256%3Aa8325e15f27f6d97d6b39264e402d9ee9d53f721c1c6d83cc3e39e9c1ceeec8f HTTP/1.1
Host: reg.myharbor.com
User-Agent: docker/1.13.1 go/go1.9.4 kernel/3.10.0-514.el7.x86_64 os/linux arch/amd64 UpstreamClient(Docker-Client/1.13.1 \(linux\))
Content-Length: 0
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjNCTE86WFJIUzpKQjRDOkQ0M006M1hITDpQRTIyOk9SNjM6UzY2WTo3STc3OlVJQlA6RE5BVzozUTI0In0.eyJpc3MiOiJoYXJib3ItdG9rZW4taXNzdWVyIiwic3ViIjoic2hhcmUiLCJhdWQiOiJoYXJib3ItcmVnaXN0cnkiLCJleHAiOjE1NjQwNTk0NjUsIm5iZiI6MTU2NDA1NzY2NSwiaWF0IjoxNTY0MDU3NjY1LCJqdGkiOiJBV29mNnVQYmhNM1hpMkRRIiwiYWNjZXNzIjpbeyJ0eXBlIjoicmVwb3NpdG9yeSIsIm5hbWUiOiJyZWdpc3RyeS1zaGFyZS1wcml2YXRlL3B1c2gtbW91bnQiLCJhY3Rpb25zIjpbInB1c2giLCJwdWxsIl19LHsidHlwZSI6InJlcG9zaXRvcnkiLCJuYW1lIjoicmVnaXN0cnktc2hhcmUtcHJpdmF0ZS9wdXNoLW5ldyIsImFjdGlvbnMiOlsicHVzaCIsInB1bGwiXX1dfQ.lQuoMmPI5SMlezxLN4RloK0wQnYQg-53oa0ZT7wE3ejzktQAEciR5LKDiPHo5OvMCiLcT50Z9zDdIaKwzRP7WAJT_WaaH0XNjvsB65M4HVAMq5p8lSz4skmCTsvW32pnDyLeCN1Rel3Vf876MbTXMmY2NM3PMqq3CnHOm-A02G2oZSwVmVsMvib3uSFNL5OFflXcZSyaTcZOEccwloND0OghbdLh6mx8sp-UYB-SeFWRu-poy9weMi7_gbxsk2IGjoqTIhGY8AMlrgjEYvq6RP2pclZxioPwW2wpJJXNDkv4G3Hbxpn9u6qe_TzpNmVhdJj6D48nm07W8R9rgfwegU8J7ZspdA-gKbA79C3gKpusrgPMGIJQweXxdPxlJ6i2pnZXS3boaeuB8q-I9_9bTvAQLisD_D5Ricbm-PtCKmoXzEYruBtFB4TFexynUmI52-zzHqQktMlp7egASBhcDXCICrCQxNsIbvqJKK1W9BcF6p_zW4eG5JdIxDiXIRQr2FyjrT9CX2Ync_km3on6gWewoWNQGPbJbhq3TTnpd1CCSP4x6E2bZAY4gMy4mUCkN5BzoY7pf1RUJEd_VGVm3P9N3aEORxAJb3QCAwgmW8LY2yg3c3VOgkMQp2gBPg1VgKiw3CsTzzEf73cIyL2SL4v5w1_ybAU6T81e837E8oQ
Content-Type:
Accept-Encoding: gzip
Connection: close
HTTP/1.1 201 Created
Server: nginx
Date: Thu, 25 Jul 2019 12:27:45 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 0
Connection: close
Docker-Content-Digest: sha256:a8325e15f27f6d97d6b39264e402d9ee9d53f721c1c6d83cc3e39e9c1ceeec8f
Docker-Distribution-Api-Version: registry/2.0
Location: http://reg.myharbor.com/v2/registry-share-private/push-mount/blobs/sha256:a8325e15f27f6d97d6b39264e402d9ee9d53f721c1c6d83cc3e39e9c1ceeec8f
Set-Cookie: beegosessionID=28c3b965f60774b92c3f9eb4c7e75b02; Path=/; HttpOnly
更多技术和产品文章,请关注👆 如果您对哪个产品感兴趣,欢迎留言给我们,我们会定向邀文~
360智汇云是以"汇聚数据价值,助力智能未来"为目标的企业应用开放服务平台,融合360丰富的产品、技术力量,为客户提供平台服务。
目前,智汇云提供数据库、中间件、存储、大数据、人工智能、计算、网络、视联物联与通信等多种产品服务以及一站式解决方案,助力客户降本增效,累计服务业务1000+。
智汇云致力于为各行各业的业务及应用提供强有力的产品、技术服务,帮助企业和业务实现更大的商业价值。
官网:https://zyun.360.cn 或搜索“360智汇云”
客服电话:4000052360
欢迎使用我们的产品!😊