Skip to content

Commit 1aa2d89

Browse files
committed
cleanup heading lvls
Signed-off-by: Mike Brown <[email protected]>
1 parent 57c3db0 commit 1aa2d89

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

spec.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -67,15 +67,15 @@ The key words "unspecified", "undefined", and "implementation-defined" are to be
6767
An implementation is not compliant if it fails to satisfy one or more of the MUST, MUST NOT, REQUIRED, SHALL, or SHALL NOT requirements for the protocols it implements.
6868
An implementation is compliant if it satisfies all the MUST, MUST NOT, REQUIRED, SHALL, and SHALL NOT requirements for the protocols it implements.
6969

70-
### Historical Context
70+
## Historical Context
7171

7272
For relevant details and a history leading up to this specification, please see the following issues:
7373

7474
- [docker/docker#8093](https://github.com/docker/docker/issues/8093)
7575
- [docker/docker#9015](https://github.com/docker/docker/issues/9015)
7676
- [docker/docker-registry#612](https://github.com/docker/docker-registry/issues/612)
7777

78-
### Scope
78+
## Scope
7979

8080
This specification covers URL layout and protocols for interaction between a registry and registry client.
8181
Registry implementations MAY implement other API endpoints, but they are not covered by this specification.
@@ -87,7 +87,7 @@ This specification includes the following features:
8787
- Resumable layer PUSH support
8888
- V2 Client library implementation
8989

90-
#### Future
90+
### Future
9191

9292
The following is an incomplete list of features, discussed during the process of cutting this specification, which MAY be out of the scope of this specification, MAY be the purview of another specification, or MAY be deferred to a future version:
9393

@@ -96,38 +96,38 @@ The following is an incomplete list of features, discussed during the process of
9696
- Multiple architecture support
9797
- Migration from v2compatibility representation
9898

99-
### Use Cases
99+
## Use Cases
100100

101-
#### Image Verification
101+
### Image Verification
102102

103103
A docker engine instance would like to run verified image named "library/ubuntu", with the tag "latest".
104104
The engine contacts the registry, requesting the manifest for "library/ubuntu:latest".
105105
An untrusted registry returns a manifest.
106106
Before proceeding to download the individual layers, the engine verifies the manifest's signature, ensuring that the content was produced from a trusted source and no tampering has occurred.
107107
After each layer is downloaded, the engine verifies the digest of the layer, ensuring that the content matches that specified by the manifest.
108108

109-
#### Resumable Push
109+
### Resumable Push
110110

111111
Company X's build servers lose connectivity to docker registry before completing an image layer transfer.
112112
After connectivity returns, the build server attempts to re-upload the image.
113113
The registry notifies the build server that the upload has already been partially attempted.
114114
The build server responds by only sending the remaining data to complete the image file.
115115

116-
#### Resumable Pull
116+
### Resumable Pull
117117

118118
Company X is having more connectivity problems but this time in their deployment datacenter.
119119
When downloading an image, the connection is interrupted before completion.
120120
The client keeps the partial data and uses http `Range` requests to avoid downloading repeated data.
121121

122-
#### Layer Upload De-duplication
122+
### Layer Upload De-duplication
123123

124124
Company Y's build system creates two identical docker layers from build processes A and B.
125125
Build process A completes uploading the layer before B.
126126
When process B attempts to upload the layer, the registry indicates that its not necessary because the layer is already known.
127127

128128
If process A and B upload the same layer at the same time, both operations will proceed and the first to complete will be stored in the registry (Note: we may modify this to prevent dogpile with some locking mechanism).
129129

130-
### Changes
130+
## Changes
131131

132132
The V2 specification has been written to work as a living document, specifying only what is certain and leaving what is not specified open or to future changes.
133133
Only non-conflicting additions should be made to the API and accepted changes should avoid preventing future changes from happening.

0 commit comments

Comments
 (0)