api - 无法使用curl使用docker API从tarball加载docker镜像

标签 api curl docker load

我的 docker 版本:

[cloud-user@firstroot-1 curl]$ sudo docker version

Client:
 Version:      1.10.0
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   590d5108
 Built:        Thu Feb  4 18:34:50 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.10.0
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   590d5108
 Built:        Thu Feb  4 18:34:50 2016
 OS/Arch:      linux/amd64

我想使用curl从tarball加载图像,但是失败。但是我没问题用此命令加载它:
**sudo docker load --input utuntu.tar**  //works

压缩文件信息
[cloud-user@firstroot-1 curl]$ pwd
/home/cloud-user/curl
[cloud-user@firstroot-1 curl]$ ls -l utuntu.tar
-rwxrwxrwx 1 cloud-user cloud-user 130499072 Aug  1 15:46 utuntu.tar

这是我尝试但失败的两个curl命令:
sudo ./curl --unix-socket  /var/run/docker.sock  -X POST -H "Content-Type: application/x-tar" -d "@/home/cloud-user/curl/utuntu.tar"   http:/images/load
Untar re-exec error: exit status 1: output: archive/tar: invalid tar header

sudo ./curl --unix-socket  /var/run/docker.sock  -X POST -H "Content-Type: application/x-tar" -d "/home/cloud-user/curl/utuntu.tar"   http:/images/load
Untar re-exec error: exit status 1: output: unexpected EOF

curl可与/ images / json,/ containers / id / start等命令一起使用,但不会加载。

图像/加载文档确实有很多信息https://docs.docker.com/engine/reference/api/docker_remote_api_v1.22/

最佳答案

使用 --data-binary @<filepath> 从文件“完全按照指定的方式发布数据,而无需任何额外的处理”。

sudo curl --verbose \
 --unix-socket /var/run/docker.sock \
 --request POST \
 --header "Content-Type: application/x-tar" \
 --data-binary "@image.tar" \
 http:/images/load

-d or --data 尝试发送数据,就像通过浏览器提交表单一样。

关于api - 无法使用curl使用docker API从tarball加载docker镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38707612/

相关文章:

javascript - 如何在 html iframe 中使用 YouTube Api?

javascript - 编辑内置 Chrome 书签管理器文件夹/子文件夹自动扩展?

php - 使用 cURL 获取网站中的所有链接(不仅是页面)

linux - 运行命令后立即重新启动安全吗?

macos - 我可以在 Docker Desktop for Mac 上运行 Windows 容器吗?

使用命令行参数启动时 Azure ACI 容器部署失败

docker - 无法运行官方Docker教程容器:npm ERR!缺少脚本:开始

javascript - rss 提要谷歌媒体 :group

json - Powershell & Curl - 在单引号 JSON 正文中使用变量

java - 我可以在不进行身份验证的情况下访问 SoundCloud API 吗?