Merge pull request #6053 from thaJeztah/import_docs
docs: import: assorted fixes and touch-ups
This commit is contained in:
commit
6f856263c2
@ -10,10 +10,10 @@ Import the contents from a tarball to create a filesystem image
|
|||||||
### Options
|
### Options
|
||||||
|
|
||||||
| Name | Type | Default | Description |
|
| Name | Type | Default | Description |
|
||||||
|:------------------|:---------|:--------|:--------------------------------------------------|
|
|:------------------------------------------|:---------|:--------|:--------------------------------------------------|
|
||||||
| `-c`, `--change` | `list` | | Apply Dockerfile instruction to the created image |
|
| [`-c`](#change), [`--change`](#change) | `list` | | Apply Dockerfile instruction to the created image |
|
||||||
| `-m`, `--message` | `string` | | Set commit message for imported image |
|
| [`-m`](#message), [`--message`](#message) | `string` | | Set commit message for imported image |
|
||||||
| `--platform` | `string` | | Set platform if server is multi-platform capable |
|
| [`--platform`](#platform) | `string` | | Set platform if server is multi-platform capable |
|
||||||
|
|
||||||
|
|
||||||
<!---MARKER_GEN_END-->
|
<!---MARKER_GEN_END-->
|
||||||
@ -28,10 +28,6 @@ specify an archive, Docker untars it in the container relative to the `/`
|
|||||||
the host. To import from a remote location, specify a `URI` that begins with the
|
the host. To import from a remote location, specify a `URI` that begins with the
|
||||||
`http://` or `https://` protocol.
|
`http://` or `https://` protocol.
|
||||||
|
|
||||||
The `--change` option applies `Dockerfile` instructions to the image that is
|
|
||||||
created. Supported `Dockerfile` instructions:
|
|
||||||
`CMD`|`ENTRYPOINT`|`ENV`|`EXPOSE`|`ONBUILD`|`USER`|`VOLUME`|`WORKDIR`
|
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
### Import from a remote location
|
### Import from a remote location
|
||||||
@ -50,12 +46,6 @@ Import to docker via pipe and `STDIN`.
|
|||||||
$ cat exampleimage.tgz | docker import - exampleimagelocal:new
|
$ cat exampleimage.tgz | docker import - exampleimagelocal:new
|
||||||
```
|
```
|
||||||
|
|
||||||
Import with a commit message.
|
|
||||||
|
|
||||||
```console
|
|
||||||
$ cat exampleimage.tgz | docker import --message "New image imported from tarball" - exampleimagelocal:new
|
|
||||||
```
|
|
||||||
|
|
||||||
Import to docker from a local archive.
|
Import to docker from a local archive.
|
||||||
|
|
||||||
```console
|
```console
|
||||||
@ -68,17 +58,71 @@ $ docker import /path/to/exampleimage.tgz
|
|||||||
$ sudo tar -c . | docker import - exampleimagedir
|
$ sudo tar -c . | docker import - exampleimagedir
|
||||||
```
|
```
|
||||||
|
|
||||||
### Import from a local directory with new configurations
|
|
||||||
|
|
||||||
```console
|
|
||||||
$ sudo tar -c . | docker import --change "ENV DEBUG=true" - exampleimagedir
|
|
||||||
```
|
|
||||||
|
|
||||||
Note the `sudo` in this example – you must preserve
|
Note the `sudo` in this example – you must preserve
|
||||||
the ownership of the files (especially root ownership) during the
|
the ownership of the files (especially root ownership) during the
|
||||||
archiving with tar. If you are not root (or the sudo command) when you
|
archiving with tar. If you are not root (or the sudo command) when you
|
||||||
tar, then the ownerships might not get preserved.
|
tar, then the ownerships might not get preserved.
|
||||||
|
|
||||||
|
### <a name="change"></a> Import with new configurations (-c, --change)
|
||||||
|
|
||||||
|
The `--change` option applies `Dockerfile` instructions to the image that is
|
||||||
|
created. Not all `Dockerfile` instructions are supported; the list of instructions
|
||||||
|
is limited to metadata (configuration) changes. The following `Dockerfile`
|
||||||
|
instructions are supported:
|
||||||
|
|
||||||
|
- [`CMD`](https://docs.docker.com/reference/dockerfile/#cmd)
|
||||||
|
- [`ENTRYPOINT`](https://docs.docker.com/reference/dockerfile/#entrypoint)
|
||||||
|
- [`ENV`](https://docs.docker.com/reference/dockerfile/#env)
|
||||||
|
- [`EXPOSE`](https://docs.docker.com/reference/dockerfile/#expose)
|
||||||
|
- [`HEALTHCHECK`](https://docs.docker.com/reference/dockerfile/#healthcheck)
|
||||||
|
- [`LABEL`](https://docs.docker.com/reference/dockerfile/#label)
|
||||||
|
- [`ONBUILD`](https://docs.docker.com/reference/dockerfile/#onbuild)
|
||||||
|
- [`STOPSIGNAL`](https://docs.docker.com/reference/dockerfile/#stopsignal)
|
||||||
|
- [`USER`](https://docs.docker.com/reference/dockerfile/#user)
|
||||||
|
- [`VOLUME`](https://docs.docker.com/reference/dockerfile/#volume)
|
||||||
|
- [`WORKDIR`](https://docs.docker.com/reference/dockerfile/#workdir)
|
||||||
|
|
||||||
|
The following example imports an image from a TAR-file containing a root-filesystem,
|
||||||
|
and sets the `DEBUG` environment-variable in the resulting image:
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ docker import --change "ENV DEBUG=true" ./rootfs.tgz exampleimagedir
|
||||||
|
```
|
||||||
|
|
||||||
|
The `--change` option can be set multiple times to apply multiple `Dockerfile`
|
||||||
|
instructions. The example below sets the `LABEL1` and `LABEL2` labels on
|
||||||
|
the imported image, in addition to the `DEBUG` environment variable from
|
||||||
|
the previous example:
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ docker import \
|
||||||
|
--change "ENV DEBUG=true" \
|
||||||
|
--change "LABEL LABEL1=hello" \
|
||||||
|
--change "LABEL LABEL2=world" \
|
||||||
|
./rootfs.tgz exampleimagedir
|
||||||
|
```
|
||||||
|
|
||||||
|
### <a name="message"></a> Import with a commit message (-m, --message)
|
||||||
|
|
||||||
|
The `--message` (or `-m`) option allows you to set a custom comment in
|
||||||
|
the image's metadata. The following example imports an image from a local
|
||||||
|
archive and sets a custom message.
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ docker import --message "New image imported from tarball" ./rootfs.tgz exampleimagelocal:new
|
||||||
|
sha256:25e54c0df7dc49da9093d50541e0ed4508a6b78705057f1a9bebf1d564e2cb00
|
||||||
|
```
|
||||||
|
|
||||||
|
After importing, the message is set in the "Comment" field of the image's
|
||||||
|
configuration, which is shown when viewing the image's history:
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ docker image history exampleimagelocal:new
|
||||||
|
|
||||||
|
IMAGE CREATED CREATED BY SIZE COMMENT
|
||||||
|
25e54c0df7dc 2 minutes ago 53.6MB New image imported from tarball
|
||||||
|
```
|
||||||
|
|
||||||
### When the daemon supports multiple operating systems
|
### When the daemon supports multiple operating systems
|
||||||
|
|
||||||
If the daemon supports multiple operating systems, and the image being imported
|
If the daemon supports multiple operating systems, and the image being imported
|
||||||
@ -89,3 +133,31 @@ daemon.
|
|||||||
```console
|
```console
|
||||||
$ docker import --platform=linux .\linuximage.tar
|
$ docker import --platform=linux .\linuximage.tar
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### <a name="platform"></a> Set the platform for the imported image (--platform)
|
||||||
|
|
||||||
|
The `--platform` option allows you to specify the platform for the imported
|
||||||
|
image. By default, the daemon's native platform is used as platform, but
|
||||||
|
the `--platform` option allows you to override the default, for example, in
|
||||||
|
situations where the imported root filesystem is for a different architecture
|
||||||
|
or operating system.
|
||||||
|
|
||||||
|
The platform option takes the `os[/arch[/variant]]` format; for example,
|
||||||
|
`linux/amd64` or `linux/arm64/v8`. Architecture and variant are optional,
|
||||||
|
and default to the daemon's native architecture if omitted.
|
||||||
|
|
||||||
|
The following example imports an image from a root-filesystem in `rootfs.tgz`,
|
||||||
|
and sets the image's platform to `linux/amd64`;
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ docker image import --platform=linux/amd64 ./rootfs.tgz imported:latest
|
||||||
|
sha256:44a8b44157dad5edcff85f0c93a3e455f3b20a046d025af4ec50ed990d7ebc09
|
||||||
|
```
|
||||||
|
|
||||||
|
After importing the image, the image's platform is set in the image's
|
||||||
|
configuration;
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ docker image inspect --format '{{.Os}}/{{.Architecture}}' imported:latest
|
||||||
|
linux/amd64
|
||||||
|
```
|
||||||
|
Loading…
x
Reference in New Issue
Block a user