有没有人能帮我理解一下如何让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的自述文件中没有看到任何好的例子,所以请帮助我:)
发布于 2020-05-07 04:20:54
好吧,我终于想通了。
我不明白的第一件事是,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 .当docker运行create命令时,它将随机分配$SOME_BUILD_NAME;但是,如果您传递了--name MYNAME标志,则可以分配自己的名称。
希望这能帮助其他人解决这个问题。
https://stackoverflow.com/questions/61638931
复制相似问题