有没有人使用以下命令成功构建图像?
curl -v -X POST \
-H "Content-Type:application/tar" \
http://52.212.221.156:2375/build?t=samplerepo&dockerfile="C:\Dockerfile.tar.gz"
即使文件位于指定位置,我也会收到以下错误
{"message":"Cannot locate specified Dockerfile: Dockerfile"}
或者,如果有人使用remote
参数完成了该操作,请提供帮助
答案 0 :(得分:1)
查询参数dockerfile
应指向构建上下文中的Dockerfile,即在您随请求发布的tar存档中。
假设档案中的以下结构
payload.tar.gz
-- config
-- Dockerfile
-- src
-- temp
Then your query parameter "dockerfile" shall hold config/Dockerfile.
确保您发送tar有效负载以及请求。
以下命令通过Docker Remote API在本地环境中创建图像
curl -v POST -H "Content-Type: application/tar" --data-binary @Dockerfile.tar.gz --unix-socket /var/run/docker.sock http:/build?t=sample
答案 1 :(得分:1)
首先,请参阅Docker API文档并浏览所有查询参数https://docs.docker.com/engine/api/v1.25/#operation/ImageBuild。
使用dockerfile构建图像有三种方法
使用远程网址,其中包含tar格式的dockerfile
curl -X POST "http://localhost:5000/build?remote=https://raw.githubusercontent.com/abha10/FirstGitProj/master/Dockerfile.tar"
使用远程URL和dockerfile上下文路径
curl -X POST "http://localhost:5000/build?dockerfile=Tomcat/config/Dockerfile&remote=https://raw.githubusercontent.com/abha10/FirstGitProj/master/Tomcat.tar"
以下内容未在其官方文档中提供,但如果您的本地存在dockerfile,则可以正常使用。
curl -X POST -H "Content-Type:application/tar" --data-binary '@Dockerfile.tar.gz' "http://localhost:5000/build?tag=tomcat"