命令
docker import
描述
使用 tar 归档中的内容创建镜像的文件系统
可以使用一个 URL 或者 - (短横线) 直接从标准输入 STDIN 获取数据内容。
这里的 URL 可以是一个含有文件系统的归档文件(例如:.tar, .tar.gz, .tgz, .bzip, .tar.xz, or .txz)。
如果指定了一个归档文件,Docker将untar这个归档文件到容器的根路径/下。
如果这个归档文件是单个文件,必须要明确指定镜像文件系统里面完整路径。
URL还可以指定远程http和https的资源作为输入
只有使用root权限才能在创建镜像时保留归档文件的权限。
帮助
# docker import --help
<!-- toc -->
<!-- tocstop -->
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