Хорошо, в конце концов я это понял.
Первое, чего я не понял, это то, что драйвер 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
.
Надеюсь, это поможет кому-то еще разобраться.