docker image import
說明 | 從 tarball 導入內容以建立檔案系統映像檔 |
---|---|
用法 | docker image import [選項] 檔案|網址|- [儲存庫[:標籤]] |
別名 | docker import |
說明
您可以指定一個 `網址` 或 `-` (破折號) 來直接從 `STDIN` 取得資料。`網址` 可以指向包含檔案系統的壓縮檔(.tar、.tar.gz、.tgz、.bzip、.tar.xz 或 .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 所有權)。如果您在使用 tar 時不是 root 使用者(或 sudo 命令),則可能無法保留所有權。