Skip to content

Commit 08dd547

Browse files
committed
media-types.md: clarify differences from Docker media types
OCI media types are slightly different from Docker ones, e.g., Docker manifests must have `.mediaType` field while OCI may not have. Also, OCI descriptors may have `.annotations` while Docker may not. Also updates to compare the spec with Docker Image Spec v1.2, not v1.0. OCI Image Spec v1 is more akin to Docker Image Spec v1.2 rather than v1.0, which lacked content addressability. See also https://github.com/moby/moby/blob/v20.10.1/image/spec/README.md for differencces between Docker Image Spec v1.2 and v1.0. Signed-off-by: Akihiro Suda <[email protected]>
1 parent 8e42a01 commit 08dd547

File tree

2 files changed

+35
-4
lines changed

2 files changed

+35
-4
lines changed

config.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,22 @@ Note: Any OPTIONAL field MAY also be set to null, which is equivalent to being a
183183

184184
The field contains the system call signal that will be sent to the container to exit. The signal can be a signal name in the format `SIGNAME`, for instance `SIGKILL` or `SIGRTMIN+3`.
185185

186+
- **Memory** *integer*, OPTIONAL
187+
188+
This property is *reserved* for use, to [maintain compatibility](media-types.md#compatibility-matrix).
189+
190+
- **MemorySwap** *integer*, OPTIONAL
191+
192+
This property is *reserved* for use, to [maintain compatibility](media-types.md#compatibility-matrix).
193+
194+
- **CpuShares** *integer*, OPTIONAL
195+
196+
This property is *reserved* for use, to [maintain compatibility](media-types.md#compatibility-matrix).
197+
198+
- **Healthcheck** *object*, OPTIONAL
199+
200+
This property is *reserved* for use, to [maintain compatibility](media-types.md#compatibility-matrix).
201+
186202
- **rootfs** *object*, REQUIRED
187203

188204
The rootfs key references the layer content addresses used by the image.

media-types.md

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,25 +38,40 @@ This section shows where the OCI Image Specification is compatible with formats
3838

3939
**Similar/related schema**
4040

41-
- [application/vnd.docker.distribution.manifest.list.v2+json](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) - mediaType is different
41+
- [application/vnd.docker.distribution.manifest.list.v2+json](https://github.com/distribution/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list)
42+
- `.mediaType`: only present in Docker, and reserved in OCI
43+
- `.annotations`: only present in OCI
44+
- `.[]manifests.annotations`: only present in OCI
45+
- `.[]manifests.urls`: only present in OCI
4246

4347
### application/vnd.oci.image.manifest.v1+json
4448

4549
**Similar/related schema**
4650

47-
- [application/vnd.docker.distribution.manifest.v2+json](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#image-manifest-field-descriptions)
51+
- [application/vnd.docker.distribution.manifest.v2+json](https://github.com/distribution/distribution/blob/master/docs/spec/manifest-v2-2.md#image-manifest-field-descriptions)
52+
- `.mediaType`: only present in Docker, and reserved in OCI
53+
- `.annotations`: only present in OCI
54+
- `.config.annotations`: only present in OCI
55+
- `.config.urls`: only present in OCI
56+
- `.[]layers.annotations`: only present in OCI
4857

4958
### application/vnd.oci.image.layer.v1.tar+gzip
5059

5160
**Interchangeable and fully compatible mime-types**
5261

53-
- [application/vnd.docker.image.rootfs.diff.tar.gzip](https://github.com/docker/docker/blob/master/image/spec/v1.md#creating-an-image-filesystem-changeset)
62+
- [application/vnd.docker.image.rootfs.diff.tar.gzip](https://github.com/moby/moby/blob/v20.10.8/image/spec/v1.2.md#creating-an-image-filesystem-changeset)
5463

5564
### application/vnd.oci.image.config.v1+json
5665

5766
**Similar/related schema**
5867

59-
- [application/vnd.docker.container.image.v1+json](https://github.com/docker/docker/blob/master/image/spec/v1.md#image-json-description)
68+
- [application/vnd.docker.container.image.v1+json](https://github.com/moby/moby/blob/v20.10.8/image/spec/v1.2.md#image-json-description) (Docker Image Spec v1.2)
69+
- `.config.Memory`: only present in Docker, and reserved in OCI
70+
- `.config.MemorySwap`: only present in Docker, and reserved in OCI
71+
- `.config.CpuShares`: only present in Docker, and reserved in OCI
72+
- `.config.Healthcheck`: only present in Docker, and reserved in OCI
73+
74+
`.config.StopSignal` and `.config.Labels` are accidentally undocumented in Docker Image Spec v1.2, but these fields are not OCI-specific concepts.
6075

6176
## Relations
6277

0 commit comments

Comments
 (0)