Deprecate non-standard (config) fields in image inspect output
The `Config` field returned by this endpoint (used for "image inspect") returns additional fields that are not part of the image's configuration and not part of the [Docker Image Spec] and the [OCI Image Spec]. These additional fields are included in the response, due to an implementation detail, where the [api/types.ImageInspec] type used for the response is using the [container.Config] type. The [container.Config] type is a superset of the image config, and while the image's Config is used as a _template_ for containers created from the image, the additional fields are set at runtime (from options passed when creating the container) and not taken from the image Config. These fields are never set (and always return the default value for the type), but are not omitted in the response when left empty. As these fields were not intended to be part of the image configuration response, they are deprecated, and will be removed from the API. The following fields are currently included in the API response, but are not part of the underlying image's Config, and deprecated: - `Hostname` - `Domainname` - `AttachStdin` - `AttachStdout` - `AttachStderr` - `Tty` - `OpenStdin` - `StdinOnce` - `Image` - `NetworkDisabled` (already omitted unless set) - `MacAddress` (already omitted unless set) - `StopTimeout` (already omitted unless set) [Docker image spec]: https://github.com/moby/docker-image-spec/blob/v1.3.1/specs-go/v1/image.go#L19-L32 [OCI Image Spec]: https://github.com/opencontainers/image-spec/blob/v1.1.0/specs-go/v1/config.go#L24-L62 [api/types.ImageInspec]: https://github.com/moby/moby/blob/v26.1.4/api/types/types.go#L87-L104 [container.Config]: https://github.com/moby/moby/blob/v26.1.4/api/types/container/config.go#L47-L82 Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Родитель
0022fe7111
Коммит
b79d684653
|
@ -50,6 +50,7 @@ The table below provides an overview of the current status of deprecated feature
|
|||
|
||||
| Status | Feature | Deprecated | Remove |
|
||||
|------------|------------------------------------------------------------------------------------------------------------------------------------|------------|--------|
|
||||
| Deprecated | [Non-standard fields in image inspect](#non-standard-fields-in-image-inspect) | v27.0 | v28.0 |
|
||||
| Deprecated | [API CORS headers](#api-cors-headers) | v27.0 | v28.0 |
|
||||
| Deprecated | [Unauthenticated TCP connections](#unauthenticated-tcp-connections) | v26.0 | v27.0 |
|
||||
| Deprecated | [`Container` and `ContainerConfig` fields in Image inspect](#container-and-containerconfig-fields-in-image-inspect) | v25.0 | v26.0 |
|
||||
|
@ -113,6 +114,40 @@ The table below provides an overview of the current status of deprecated feature
|
|||
| Removed | [`--run` flag on `docker commit`](#--run-flag-on-docker-commit) | v0.10 | v1.13 |
|
||||
| Removed | [Three arguments form in `docker import`](#three-arguments-form-in-docker-import) | v0.6.7 | v1.12 |
|
||||
|
||||
### Non-standard fields in image inspect
|
||||
|
||||
**Deprecated in Release: v27.0**
|
||||
**Target For Removal In Release: v28.0**
|
||||
|
||||
The `Config` field returned shown in `docker image inspect` (and as returned by
|
||||
the `GET /images/{name}/json` API endpoint) returns additional fields that are
|
||||
not part of the image's configuration and not part of the [Docker Image Spec]
|
||||
and [OCI Image Specification].
|
||||
|
||||
These fields are never set (and always return the default value for the type),
|
||||
but are not omitted in the response when left empty. As these fields were not
|
||||
intended to be part of the image configuration response, they are deprecated,
|
||||
and will be removed from the API in thee next release.
|
||||
|
||||
The following fields are currently included in the API response, but are not
|
||||
part of the underlying image's Config, and deprecated:
|
||||
|
||||
- `Hostname`
|
||||
- `Domainname`
|
||||
- `AttachStdin`
|
||||
- `AttachStdout`
|
||||
- `AttachStderr`
|
||||
- `Tty`
|
||||
- `OpenStdin`
|
||||
- `StdinOnce`
|
||||
- `Image`
|
||||
- `NetworkDisabled` (already omitted unless set)
|
||||
- `MacAddress` (already omitted unless set)
|
||||
- `StopTimeout` (already omitted unless set)
|
||||
|
||||
[Docker image spec]: https://github.com/moby/docker-image-spec/blob/v1.3.1/specs-go/v1/image.go#L19-L32
|
||||
[OCI Image Spec]: https://github.com/opencontainers/image-spec/blob/v1.1.0/specs-go/v1/config.go#L24-L62
|
||||
|
||||
### API CORS headers
|
||||
|
||||
**Deprecated in Release: v27.0**
|
||||
|
|
Загрузка…
Ссылка в новой задаче