docker image import
描述 | 从 tarball 导入内容以创建文件系统镜像 |
---|---|
用法 | docker image import [选项] 文件|URL|- [仓库[:标签]] |
别名 | docker import |
描述
您可以指定 URL
或 -
(破折号)以直接从 STDIN
获取数据。URL
可以指向包含文件系统的存档文件(.tar, .tar.gz, .tgz, .bzip, .tar.xz, or .txz),或指向 Docker 主机上的单个文件。如果指定存档文件,Docker 会在容器中相对于 /
(根目录)对其进行解压缩。如果指定单个文件,则必须指定主机内的完整路径。要从远程位置导入,请指定以 http://
或 https://
协议开头的 URI
。
--change
选项会将 Dockerfile
指令应用于创建的镜像。支持的 Dockerfile
指令包括:CMD
|ENTRYPOINT
|ENV
|EXPOSE
|ONBUILD
|USER
|VOLUME
|WORKDIR
选项
选项 | 默认值 | 描述 |
---|---|---|
-c, --change | 将 Dockerfile 指令应用于创建的镜像 | |
-m, --message | 设置导入镜像的提交信息 | |
--platform | API 1.32+ 如果服务器支持多平台,则设置平台 |
示例
从远程位置导入
这将创建一个新的未标记镜像。
$ docker import https://example.com/exampleimage.tgz
从本地文件导入
通过管道和 STDIN
导入到 Docker。
$ 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
从本地目录导入
$ sudo tar -c . | docker import - exampleimagedir
从本地目录导入并指定新配置
$ sudo tar -c . | docker import --change "ENV DEBUG=true" - exampleimagedir
请注意此示例中的 sudo
– 使用 tar 打包时必须保留文件的所有权(尤其是 root 所有权)。如果您在打包时不是 root 用户(或未使用 sudo 命令),则所有权可能不会被保留。