代码之家  ›  专栏  ›  技术社区  ›  E235

如何从构建函数将GitHub的URL传递给Docker的REST API远程参数

  •  1
  • E235  · 技术社区  · 6 年前

    我正在尝试使用RESTAPI从Github存储库构建DockerFile。

    我让docker deamon能够监听TCP 2375。
    我验证了它的工作原理:
    curl http://localhost:2375/images/json

    我收到了我所有图片的列表。

    我正在尝试 build 来自Docker API的命令 website (或第二个 website ).

    我需要使用 命令与 remote 参数

    They 写的:

    Git存储库URI或HTTP/HTTPS上下文URI。如果URI指向 单个文本文件,文件的内容被放入一个名为 Dockerfile和图像是从该文件构建的。如果URI指向 一个tarball,该文件由守护程序下载,内容 其中用作构建的上下文。如果URI指向 tarball和dockerfile参数也被指定,必须有 在tarball中具有相应路径的文件。

    但我不知道如何传递GitHub URL。
    我创建了一个 repository 包含DockerFile的:
    FROM alpine

    GitHub存储库的地址为:
    https://github.com/stackoverflowquestion/myrepo/blob/master/DockerFile

    这就是我所尝试的:

    curl http://localhost:2375/build?remote=https://github.com/stackoverflowquestion/myrepo/blob/master/DockerFile
    curl http://localhost:2375/build?remote=https://github.com/stackoverflowquestion/myrepo 
    curl http://localhost:2375/build?remote=https://github.com/stackoverflowquestion
    curl http://localhost:2375/build?remote=https://raw.githubusercontent.com/stackoverflowquestion/myrepo/master/DockerFile
    

    它们都不起作用。
    我一直收到:

    {"message":"page not found"}
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Robert    6 年前

    使用链接的原始版本,并指定发布方法:

    curl -X POST http://localhost:2375/build?remote=https://raw.githubusercontent.com/stackoverflowquestion/myrepo/master/DockerFile