docker镜像导入
描述 | 从 tarball 导入内容以创建文件系统映像 |
---|---|
用法 | docker image import [OPTIONS] file|URL|- [REPOSITORY[:TAG]] |
别名 | docker import |
描述
您可以指定一个URL
或-
(破折号)直接从 获取数据STDIN
。可以
URL
指向包含文件系统的存档(.tar、.tar.gz、.tgz、.bzip、.tar.xz 或 .txz)或 Docker 主机上的单个文件。如果您指定一个存档,Docker 会将其解压到相对于/
(根)的容器中。如果指定单个文件,则必须指定主机内的完整路径。要从远程位置导入,请指定URI
以
http://
或开头的https://
协议。
该--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
从本地文件导入
通过管道导入到 docker 和STDIN
.
$ 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 所有权)。如果您在 tar 时不是 root(或 sudo 命令),那么所有权可能不会被保留。