1. docker import
1.1. 描述
使用 tar 归档中的内容创建镜像的文件系统
可以使用一个 URL 或者 -
(短横线) 直接从标准输入 STDIN 获取数据内容。
这里的 URL 可以是一个含有文件系统的归档文件(例如:.tar, .tar.gz, .tgz, .bzip, .tar.xz, or .txz)。
如果指定了一个归档文件,Docker 将 untar 这个归档文件到容器的根路径 /
下。
如果这个归档文件是单个文件,必须要明确指定镜像文件系统里面完整路径。
URL 还可以指定远程 http 和 https 的资源作为输入
只有使用 root 权限才能在创建镜像时保留归档文件的权限。
和 docker import
对应的导出命令是 docker export
1.2. 帮助
$ 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
1.3. 选项
选项 | 描述 |
---|---|
--change , -c | 将 Dockerfile 指令应用于创建的映像。该选项会将 Dockerfile 说明应用于创建的镜像。支持的Dockerfile 指令: CMD/ENTRYPOINT/ENV/EXPOSE/ONBUILD/USER/VOLUME/WORKDIR |
--message , -m | 为本次创建镜像添加注释提交相关的信息。 |
1.4. 示例
- 从远程导入数据
这样将会创建一个没有 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