docker import

命令

docker import

描述

使用 tar 归档中的内容创建镜像的文件系统

可以使用一个 URL 或者 - (短横线) 直接从标准输入 STDIN 获取数据内容。

这里的 URL 可以是一个含有文件系统的归档文件(例如:.tar, .tar.gz, .tgz, .bzip, .tar.xz, or .txz)。

如果指定了一个归档文件,Docker将untar这个归档文件到容器的根路径/下。

如果这个归档文件是单个文件,必须要明确指定镜像文件系统里面完整路径。

URL还可以指定远程http和https的资源作为输入

只有使用root权限才能在创建镜像时保留归档文件的权限。

帮助

# docker import --help

Usage: docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]

Import the contents from a tarball to create a filesystem image

Options:
  -c, --change list Apply Dockerfile instruction to the created image
  -m, --message string Set commit message for imported image

选项

  • –change , -c 将Dockerfile指令应用于创建的映像
该–change选项会将Dockerfile说明应用于创建的图像。支持的Dockerfile指令: CMD ENTRYPOINT ENV EXPOSE ONBUILD USER VOLUME WORKDIR
  • –message , -m 为本次创建镜像添加注释提交相关的信息。

示例

  • 从远程导入数据

这样将会创建一个没有tag的镜像

$ docker import http://example.com/exampleimage.tgz
  • 使用管道和标准输入的方式import导入
    $ cat exampleimage.tgz | docker import - exampleimagelocal:new
    
  • 创建镜像时添加描述信息
    $ cat exampleimage.tgz | docker import --message "New image imported from tarball" - exampleimagelocal:new
    
  • 使用一个本地的归档文件创建一个docker 镜像
    $ docker import /path/to/exampleimage.tgz
    
  • 使用本地目录来创建一个docker 镜像
    $ sudo tar -c . | docker import - exampleimagedir
    
  • 使用本地目录,且添加一些新的配置
    $ sudo tar -c . | docker import --change "ENV DEBUG true" - exampleimagedir