[有人可以帮助我了解如何使docker buildx build -o type=oci,dest=/tmp/foo.tar .
正常工作吗?我不断收到此错误,这对我来说毫无意义。
$ sudo docker buildx build -o type=oci,dest=/tmp/test-oci.tar -f .buildkite/scripts/Dockerfile-amd64 .
OCI exporter feature is currently not supported for docker driver. Please switch to a different driver (eg. "docker buildx create --use")
然后我尝试了
$ sudo docker buildx create --driver docker-container --use oci
但是现在我得到了
[+] Building 0.0s (0/0)
error during connect: Get http://oci:2375/v1.24/containers/buildx_buildkit_romantic_jang10/json: dial tcp: lookup oci on 172.18.96.1:53: no such host
我很明显在这里缺少一些东西。我没有在github的自述文件中看到任何好的示例,因此请帮助:)
好吧,我终于明白了。
我不了解的第一件事是docker-container
驱动程序想要获取构建映像名称,以便它可以启动。第二件事,我不明白,您可以使用docker inspect --bootstrap
使驱动程序启动并运行,以便它可以接受工作请求。
这是基本上从我的历史记录中复制的完整食谱:
sudo docker buildx create --driver docker-container --driver-opt image=moby/buildkit:master,network=host
sudo docker buildx inspect --bootstrap
sudo docker buildx use $SOME_BUILD_NAME
sudo docker buildx build -o type=oci,dest=/tmp/test-oci.tar -f /path/to/Dockerfile .
$SOME_BUILD_NAME
将由docker运行create
命令时随机分配;如果您通过--name MYNAME
标志,则可以分配自己的名称。
希望这可以帮助其他人弄清楚。