github.com/khulnasoft/cli@v0.0.0-20240402070845-01bcad7beefa/docs/reference/commandline/image_import.md (about)

     1  # import
     2  
     3  <!---MARKER_GEN_START-->
     4  Import the contents from a tarball to create a filesystem image
     5  
     6  ### Aliases
     7  
     8  `docker image import`, `docker import`
     9  
    10  ### Options
    11  
    12  | Name              | Type     | Default | Description                                       |
    13  |:------------------|:---------|:--------|:--------------------------------------------------|
    14  | `-c`, `--change`  | `list`   |         | Apply Dockerfile instruction to the created image |
    15  | `-m`, `--message` | `string` |         | Set commit message for imported image             |
    16  | `--platform`      | `string` |         | Set platform if server is multi-platform capable  |
    17  
    18  
    19  <!---MARKER_GEN_END-->
    20  
    21  ## Description
    22  
    23  You can specify a `URL` or `-` (dash) to take data directly from `STDIN`. The
    24  `URL` can point to an archive (.tar, .tar.gz, .tgz, .bzip, .tar.xz, or .txz)
    25  containing a filesystem or to an individual file on the Docker host.  If you
    26  specify an archive, Docker untars it in the container relative to the `/`
    27  (root). If you specify an individual file, you must specify the full path within
    28  the host. To import from a remote location, specify a `URI` that begins with the
    29  `http://` or `https://` protocol.
    30  
    31  The `--change` option applies `Dockerfile` instructions to the image that is
    32  created. Supported `Dockerfile` instructions:
    33  `CMD`|`ENTRYPOINT`|`ENV`|`EXPOSE`|`ONBUILD`|`USER`|`VOLUME`|`WORKDIR`
    34  
    35  ## Examples
    36  
    37  ### Import from a remote location
    38  
    39  This creates a new untagged image.
    40  
    41  ```console
    42  $ docker import https://example.com/exampleimage.tgz
    43  ```
    44  
    45  ### Import from a local file
    46  
    47  Import to docker via pipe and `STDIN`.
    48  
    49  ```console
    50  $ cat exampleimage.tgz | docker import - exampleimagelocal:new
    51  ```
    52  
    53  Import with a commit message.
    54  
    55  ```console
    56  $ cat exampleimage.tgz | docker import --message "New image imported from tarball" - exampleimagelocal:new
    57  ```
    58  
    59  Import to docker from a local archive.
    60  
    61  ```console
    62  $ docker import /path/to/exampleimage.tgz
    63  ```
    64  
    65  ### Import from a local directory
    66  
    67  ```console
    68  $ sudo tar -c . | docker import - exampleimagedir
    69  ```
    70  
    71  ### Import from a local directory with new configurations
    72  
    73  ```console
    74  $ sudo tar -c . | docker import --change "ENV DEBUG=true" - exampleimagedir
    75  ```
    76  
    77  Note the `sudo` in this example – you must preserve
    78  the ownership of the files (especially root ownership) during the
    79  archiving with tar. If you are not root (or the sudo command) when you
    80  tar, then the ownerships might not get preserved.
    81  
    82  ## When the daemon supports multiple operating systems
    83  
    84  If the daemon supports multiple operating systems, and the image being imported
    85  does not match the default operating system, it may be necessary to add
    86  `--platform`. This would be necessary when importing a Linux image into a Windows
    87  daemon.
    88  
    89  ```console
    90  $ docker import --platform=linux .\linuximage.tar
    91  ```