docker - docker buildx oci 输出
问题描述
有人可以帮我了解如何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上的 README 中没有看到任何好的示例,所以请帮忙 :)
解决方案
好的,我最终想通了。
我不明白的第一件事是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运行命令$SOME_BUILD_NAME
时会随机分配;如果您通过标志,create
您可以分配自己的名字。--name MYNAME
希望这可以帮助其他人弄清楚。
推荐阅读
- python - 在 pyspark sql 中查找两个时间戳之间的差异
- python-3.x - pyspark 中包含空值的行数
- mongodb - MongoDB中的日期索引
- c++ - 在 C++ 中从 csv 中提取特定行
- c# - c# 从 XML 文件填充 ListView
- json - 使用现有 JSON 文件,如何将此数据上传到 BigQuery 并使用 JSON 文件中的数据计算新字段?
- spring - SpringBoot Junit 测试 RestControllers
- rust - 我怎样才能鼓掌来包装长的帮助信息?
- android - 如何从片段列表中从 EditText 获取用户输入?
- python - 宝石会像 pipsi 一样隔离吗?