Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Docker API构建映像?_Docker_Docker Api - Fatal编程技术网

如何使用Docker API构建映像?

如何使用Docker API构建映像?,docker,docker-api,Docker,Docker Api,我正在尝试使用中提到的API构建一个docker映像 但我无法得到文件上所说的: 请求示例: POST /v1.24/build HTTP/1.1 {{ TAR STREAM }} 几乎没有什么事情让我困惑 1) 在哪里提及Dockerfile的路径 2) “归档文件必须包含一个构建说明文件,通常在归档文件的根目录下称为docker文件。”docker docs中的这句话,这里的困惑是归档文件的根目录是什么 3) 构建映像的命令的详细内容是什么?最后,可以通过Docker API构建映像

我正在尝试使用中提到的API构建一个docker映像

但我无法得到文件上所说的: 请求示例:

POST /v1.24/build HTTP/1.1


{{ TAR STREAM }}
几乎没有什么事情让我困惑

1) 在哪里提及Dockerfile的路径

2) “归档文件必须包含一个构建说明文件,通常在归档文件的根目录下称为docker文件。”docker docs中的这句话,这里的困惑是归档文件的根目录是什么


3) 构建映像的命令的详细内容是什么?

最后,可以通过Docker API构建映像

Dockerfile示例:

# cat Dockerfile

FROM ubuntu:14.04
RUN mkdir demo
RUN apt-get update
RUN apt-get -y install vim
创建一个包含Dockerfile的tar文件

# tar -cvf Dockerfile.tar.gz Dockerfile 
按如下方式执行API,有关更多选项,请参阅

删除了一些不必要的输出

要配置docker守护程序端口,请参阅

# curl -v -X POST -H "Content-Type:application/tar" --data-binary '@Dockerfile.tar.gz' http://127.0.0.1:5000/build?t=build_test

* Hostname was NOT found in DNS cache
*   Trying 127.0.0.1...
* Connected to 127.0.0.1 (127.0.0.1) port 5000 (#0)
> POST /build?t=build_test HTTP/1.1
> User-Agent: curl/7.35.0
> Host: 127.0.0.1:5000
> Accept: */*
> Content-Type:application/tar
> Content-Length: 10240
> Expect: 100-continue
> 
< HTTP/1.1 100 Continue
< HTTP/1.1 200 OK
< Api-Version: 1.28
< Content-Type: application/json
< Docker-Experimental: false
< Ostype: linux
* Server Docker/17.04.0-ce (linux) is not blacklisted
< Server: Docker/17.04.0-ce (linux)
< Date: Mon, 01 May 2017 09:56:54 GMT
< Transfer-Encoding: chunked
< 
{"stream":"Step 1/4 : FROM ubuntu:14.04\n"}
{"stream":" ---\u003e 302fa07d8117\n"}
{"stream":"Step 2/4 : RUN mkdir demo\n"}
{"stream":" ---\u003e Running in 5941f911099e\n"}
{"stream":" ---\u003e bccbffdd776a\n"}
{"stream":"Removing intermediate container 5941f911099e\n"}
{"stream":"Step 3/4 : RUN apt-get update\n"}
{"stream":" ---\u003e Running in 7aefd190a165\n"}
{"stream":"Ign http://archive.ubuntu.com trusty InRelease\n"}
{"stream":"Get:1 http://archive.ubuntu.com trusty-updates InRelease [65.9 kB]\n"}
{"stream":"Get:2 http://archive.ubuntu.com trusty-security InRelease [65.9 kB]\n"}
{"stream":"Get:3 http://archive.ubuntu.com trusty Release.gpg [933 B]\n"}
{"stream":"Get:4 http://archive.ubuntu.com trusty Release [58.5 kB]\n"}
{"stream":"Get:5 http://archive.ubuntu.com trusty-updates/main Sources [491 kB]\n"}
{"stream":"Get:6 http://archive.ubuntu.com trusty-updates/restricted Sources [6467 B]\n"}
{"stream":"Get:7 http://archive.ubuntu.com trusty-updates/universe Sources [226 kB]\n"}

.......    

{"stream":"Fetched 22.5 MB in 1min 40s (224 kB/s)\nReading package lists..."}
{"stream":"\n"}
{"stream":" ---\u003e ff06741dea7e\n"}
{"stream":"Removing intermediate container 7aefd190a165\n"}
{"stream":"Step 4/4 : RUN apt-get -y install vim\n"}
{"stream":" ---\u003e Running in e9ddad5a4695\n"}
{"stream":"Reading package lists..."}
{"stream":"\n"}
{"stream":"Building dependency tree..."}
{"stream":"\nReading state information...\n"}
{"stream":"The following extra packages will be installed:\n  libgpm2 libpython2.7 libpython2.7-minimal libpython2.7-stdlib vim-runtime\n"}
{"stream":"Suggested packages:\n  gpm ctags vim-doc vim-scripts\n"}
{"stream":"The following NEW packages will be installed:\n  libgpm2 libpython2.7 libpython2.7-minimal libpython2.7-stdlib vim\n  vim-runtime\n"}
{"stream":"0 upgraded, 6 newly installed, 0 to remove and 3 not upgraded.\nNeed to get 9074 kB of archives.\nAfter this operation, 42.9 MB of additional disk space will be used.\nGet:1 http://archive.ubuntu.com/ubuntu/ trusty/main libgpm2 amd64 1.20.4-6.1 [16.5 kB]\n"}
 .......
{"stream":"Processing triggers for libc-bin (2.19-0ubuntu6.11) ...\n"}
{"stream":" ---\u003e b1736dd9b698\n"}
{"stream":"Removing intermediate container e9ddad5a4695\n"}
{"stream":"Successfully built b1736dd9b698\n"}
* Connection #0 to host 127.0.0.1 left intact
# docker images
REPOSITORY                       TAG                 IMAGE ID            CREATED             SIZE
build_test                       latest              b1736dd9b698        8 seconds ago       254MB