Curl 使用dockerfile构建映像

Curl 使用dockerfile构建映像,curl,docker,Curl,Docker,是否有人使用以下命令成功构建了映像 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"} 或者,如果有人使用r

是否有人使用以下命令成功构建了映像

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
参数执行此操作,请提供帮助查询参数
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

查询参数
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

首先,请参阅Docker API文档并查看所有查询参数

使用dockerfile构建映像有三种方法

  • 使用远程url,该url将dockerfile设置为tar格式

    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-xpost-H“内容类型:应用程序/tar”--data-binary'@Dockerfile.tar.gz”http://localhost:5000/build?tag=tomcat“


  • 首先,请参阅Docker API文档并查看所有查询参数

    使用dockerfile构建映像有三种方法

  • 使用远程url,该url将dockerfile设置为tar格式

    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-xpost-H“内容类型:应用程序/tar”--data-binary'@Dockerfile.tar.gz”http://localhost:5000/build?tag=tomcat“


  • 在用法:docker build[OPTIONS]PATH中,PATH指的是构建上下文。当我们使用docker build-t时,当前目录就是构建上下文。对于远程API,我们在远程运行时将构建上下文作为tar存档发送。因此,docker文件必须位于该归档文件的根目录下,并且该tar归档文件需要作为该请求的一部分发送。如果Dockerfile不在归档文件的根目录下,并且放在归档文件的目录下,那么可以通过查询参数“Dockerfile”指定它。好的,这就是我尝试过的curl命令
    curl-v-X POST-H“Content Type:applictaion/tar”http://52.210.66.125:2375/build?t=samplerepo&dockerfile=“C:/payload.tar”
    文件夹结构为
    payload>Dockerfile
    。仍然无法使其工作。
    curl-v POST-H“内容类型:application/tar”--data binary@archive.tar.gzhttp://52.210.66.125:2375/build?t=samplerepo
    我知道这个curl命令,在我的情况下不能使用这个参数
    --data binary
    。如果我们在Dockerfile参数中传递
    config/Dockerfile
    ,如何在post请求中传递有效负载tar文件。在用法:docker build[OPTIONS]PATH中,PATH指生成上下文。当我们使用docker build-t时,当前目录就是构建上下文。对于远程API,我们在远程运行时将构建上下文作为tar存档发送。因此,docker文件必须位于该归档文件的根目录下,并且该tar归档文件需要作为该请求的一部分发送。如果Dockerfile不在归档文件的根目录下,并且放在归档文件的目录下,那么可以通过查询参数“Dockerfile”指定它。好的,这就是我尝试过的curl命令
    curl-v-X POST-H“Content Type:applictaion/tar”http://52.210.66.125:2375/build?t=samplerepo&dockerfile=“C:/payload.tar”
    文件夹结构为
    payload>Dockerfile
    。仍然无法使其工作。
    curl-v POST-H“内容类型:application/tar”--data binary@archive.tar.gzhttp://52.210.66.125:2375/build?t=samplerepo
    我知道这个curl命令,在我的情况下不能使用这个参数
    --data binary
    。如果我们在Dockerfile参数中传递
    config/Dockerfile
    ,如何在post请求中传递有效负载tar文件。