很久没运行`docker build .`了,结果出现了错误。。(–mount选项需要BuildKit。请参考https://docs.docker.com/go/buildkit/了解如何启用BuildKit构建镜像)
很久没有执行docker build .了,结果出现了错误。。
$ docker build .
Sending build context to Docker daemon 234.5kB
Step 1/6 : FROM python:3.10-slim-bullseye
---> 634cac419191
...
Step 3/6 : RUN --mount=type=cache,target=/var/cache/apt,sharing=locked apt update && apt upgrade -y && apt install -y wget curl git build-essential && mkdir /tetris
the --mount option requires BuildKit.
Refer to https://docs.docker.com/go/buildkit/ to learn how to build images with BuildKit enabled
如同[此链接](https://docs.docker.com/go/buildkit/)所述,即使添加DOCKER_BUILDKIT=1同样适用。
DOCKER_BUILDKIT=1 docker-compose -f docker-compose.pytorch.yaml build
Building
...
Step 3/6 : RUN --mount=type=cache,target=/var/cache/apt,sharing=locked apt update && apt upgrade -y && apt install -y wget curl git build-essential && mkdir /tetris
ERROR: Service 'tetris' failed to build:
the --mount option requires BuildKit.
Refer to https://docs.docker.com/go/buildkit/ to learn how to build images with BuildKit enabled
当发生错误时的环境
$ docker-compose -v
docker-compose version 1.25.0, build unknown
$ docker -v
Docker version 20.10.12, build 20.10.12-0ubuntu2~20.04.1
最后,更新了最新的docker引擎,使用docker compose(而不是docker-compose),构建成功。
$ docker --version
Docker version 24.0.4, build 3713ee1
$ docker compose version
Docker Compose version v2.19.1
$ docker compose -f docker-compose.pytorch.yaml build
[+] Building 0.2s (11/11) FINISHED
以下是备忘录
看起来,从Docker Engine版本23.0.0开始,docker-buildx-plugin已经被分离出来了。
从Docker Engine 23.0.0版本开始,Buildx以一个独立的包docker-buildx-plugin进行分发。在早期版本中,Buildx包含在docker-ce-cli包中。当您升级到此版本的Docker Engine时,请确保更新所有的包。例如,在Ubuntu上:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo apt update -y
sudo apt upgrade -y
重新安装Docker
我已经成功将以下内容更新至最新版本。
$ docker --version
Docker version 24.0.4, build 3713ee1
$ docker compose version
Docker Compose version v2.19.1
请提供以下内容的本地化汉语翻译:
参考